Dudas con Bennu para WIZ

Started by blostec, September 17, 2009, 07:09:28 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

splinter_work


int vector[1000];

...

save( "nombre de archivo", mivector );

...

load( "nombre de archivo", mivector );

blostec

Hay algo que hago mal cuando quiero ejecutar un .dcb en WIZ sin compilarlo en la consola.

Este es el contenido del .gpe:

#!/bin/sh
cd center
./bgdi center.dcb
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu

Al ejecutarlo se queda bloqueado.

SplinterGU

puede ser algun bug o diferencia no controlada...

misma version del compilador e interprete?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Prueba a sacar los datos a ver que te dice:

#!/bin/sh
cd center
./bgdi center.dcb >log.txt 2>error.txt
sync
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu

Tambien puede ser que te falten un par de lineas para definir el PATH y no se que más.
Y recomiendo no olvidar el sync en los scripts, es la instrucción que fuerza al SO a realizar las escrituras retardadas y esas cosas para poder desmontar la tarjeta sin peligro.
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

Quote from: splinter_work on September 21, 2009, 06:07:48 PM

int vector[1000];

...

save( "nombre de archivo", mivector );

...

load( "nombre de archivo", mivector );

Eso fue lo que puse, y Bennu peta. De cualquier forma lo tengo que mirar a lupa y ya te cuento.

SplinterGU

por favor, pone un codigo de ejemplo... ya sabes como funciona esto y que tan rapido se resuelven los temas con un codigo...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Ya he mirado mejor este engorroso código. Lo que hace el crash no era eso (funciona bien por cierto) pero si un for para parar borrar sonidos.

Lo que no entiendo es que si no tienes sonidos (no lo has grabado, porque el fichero de la ruta no existe)y haces operaciones con el sonido, Bennu trata esas excepciones internamente y no te peta nuncsa, pero utilizando un for parece que si.

Mañana te pongo el código exacto.

Me han salido muchas más problemas en la ejecución del código que funcionaba perfectamente en DIV 1,
te pongo algunos que me recuerdo, esto lo tendre que mirar con más tiempo y ver porque salen los errores:

1 - Las animaciones que estan en vectores te pone gráficos con id's distintos a los definidos (al hacer el for pasa por gráficos que no estan definidos en el loop de esa animacion)

2 - Algunos Mapas de durezas que no funcionan, el protagonista al aparecer se cae al vacio, y sólo algunos objectos parece que lo sostienen en el escenario.

Ya te contare mas en detalle.
Saludos.

SplinterGU

no peta de pedo...

si usas handles de sonido que no cargaron en operaciones de sonido, va a petar...

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

Drumpi

Splinter ¿tu no estabas tan ocupado que no te ibas a poder pasar por aqui? no estás tan activo pero sigues estando en todos lados ;D ;D ;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

si, no puedo ponerme a trabajar en el codigo... pero no puedo evitar pasar y responder...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Todo llegara heheh. Una cosa que me moskea, no se si ya os ha sucedido.

No es un problema de Bennu, pero si genérico de estos lenguages.

Estoy pasando uno de los ports a la mitad de resolución manualmente.
El rescalado automatico que trae Bennu es muy chulo, pero la verdad no se consigue el acabado gráfico que uno desea, ya que se pierde definición de gráficos y fuentes. Rescalar todos los gráficos a la mitad y asignar mitad de la resolución soluciona el problema, hay uno que otro gráfico que no queda bien al tranformarlo a la mitad de tamaño, pero se corrige con el editor de gráficos.

El problema es que se tienen que ajustar todas las coordenadas 'x' y 'y' tanto de posición como de deslocación.
Lo que ocurre es que si en el original tenemos posiciones impares o deslocamientos impares, ejemplo, y=233, x += 3, ..., no podemos poner la division exacta por 2, que seria y=116,5 y x += 1,5, esto no se permite porque se hacen arredondamientos y quedaria y=117, x += 2, que no es lo mismo, vamos.


FreeYourMind

Reactivando la pregunta del change_sound...


Cual seria el equivalente a estas 2 funciones de DIV:

change_sound()
get_sound() ???


Como pondria algo similar a esto en Bennu:


1 - sound(sonido, get_sound(x, y), 256);


2 - change_sound(sonido2, get_sound(x, y), 256);







DCelso

Supongo que así
http://wiki.bennugd.org/index.php?title=Play_wav

Program
include "mod_sound"
include "mod_key"
Private
    int wave[0];
    int canal;
Begin
    wave[0] = load_wav("my_wav1.wav");
    wave[1] = load_wav("my_wav2.wav");
    canal=256;
    play_wav(wave,0,canal);
    play_wav(wave,0,canal);
    While(!key(_esc))
        frame;
    End
    unload_wav(wave[0]);
    unload_wav(wave[1]);
End

Monstruos Diabólicos

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

FreeYourMind

No DCelso, mi problema no es saber como ponerla a tocar, ya se que es distinto.

Lo que quiero es modificar el volumen del sonido tal como hace change_sound, y tambien el get_sound, que sirva como parametro de entrada al cambiar el volumen, tal como el ejemplo DIV que puse.

En un port que hice hace años en Fenix, lo que hice fue cambiar el volumen de algunos sonidos directamente en la musica con un editor audio.

En este caso queria hacerlo dinamicamente, como DIV lo hace.

BoMbErLiNk

#29
Para el volumen de los OGG, mod, etc :
set_song_volume(volumen);

Para el volumen de los wav :
set_channel_volume(canal,volumen);

Canal : -1 si quieres modificar el volumen de todos los canales a la vez, bennu genera 8 canales por defecto si mal no recuerdo.
Volumen : 0-127