Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Yawin on January 06, 2011, 06:54:46 PM

Title: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 06:54:46 PM
Pos eso. Los Reyes Majos me acaban de regalar la Caanoo, ya he comprobado que el pacman y el galaxian que vienen con el runtime que he descargado de la web funcionan bien.

Ahora tengo dos preguntas. ¿Cómo compilo para Caanoo?¿Cuáles son los nombres de las keys? Porque dudo que la key(_x) exista xD
Title: Re: Compilar para Caanoo
Post by: DCelso on January 06, 2011, 07:32:30 PM
es un joystic no un teclado, mira mod_joy (http://wiki.bennugd.org/index.php?title=Mod_joy) y su uso. básicamente ne vez de "key" es usar:
joy_getbutton ( 0, 0)
joy_getbutton ( 0, 1)
..
joy_getbutton ( 0, 11) .


Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 07:39:20 PM
te recomiendo usar esto... http://forum.bennugd.org/index.php?topic=737.0

que es una lib que ire actualizando a medida que aparezcan nuevas consolas y versiones...

si usas joys, vas a tener que preocuparte por cada consola.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 07:55:40 PM
Vale, lo de las teclas solucionado (creo) gracias.
Ahora queda compilar. Cómo lo hago? desde el windows pero con algún compilador especial o desde la caanoo con el runtime?? o como??
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 07:57:58 PM
compilar como quieras, con el bgdc de windows o desde la caanoo con la version bgdc para caanoo, o puedes hacerlo desde el bgdc linux... como prefieras.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 08:01:30 PM
Pero en el pacman he vistoque tenia un archivo .gpe
y mi compilador para windows, que yo sepa no saca eso.
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 08:03:53 PM
el gpe es un archivo de texto, un script que sirve para lanzar al programa real...

editalo y vas a ver que contiene dentro.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 08:15:08 PM
o sea que lo copio del pacman mismo?? tal cual??
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 08:21:08 PM
si, renombralo... y abrilo para ver como es...

para usarlo en caanoo tambien tenes que crear un .ini
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 08:31:46 PM
vale, ahora ya me compila bien, pero me casca al cargar, y creo que es por esto:
set_mode(640,480,32,MODE_FULLSCREEN);

¿Qué resoluciones soporta como máximo?¿Hace falta que ponga "MODE_FULLSCREEN"?

Vale, la resolución ya está: 320x240

Pero lo de fullscreen??

______

Olvidad todo lo anterios, la cosa es que me sigue cascando. Igual podría ser o por la música o por las imagenes. Como debería de escribir las rutas, con / o con \??
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 08:59:37 PM
caanoo, es 320x240, no importa full_screen o window.

van los paths con /, y pone en los archivos como en el programa todos los nombres con minusculas.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 09:15:54 PM
Esto es un pitorreo. Me sigue sin cargar.
Le he ajustado al resolución a 320x240.
Le he quitado los sonidos.
Le he cambiado los botones.
Hasta he adaptado las imágenes a la nueva resolución, y nada.

Esto es lo que tengo metido en la Caanoo:
http://pensarescompartir.com/lahsoft/lahsoftcorp/?direc=fenix/&id=Bennucanoo.rar

A ver si alguien que ya haya hecho algo para Caanoo me puede decir que coj**** pasa, porque yo estoy por sacrificar a alguien al dios Crom para ver si sirve de algo xD
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 09:29:15 PM
Estoy haciendo pruebas, y con este código, me compila, se pone la pantalla en negro y se sale:
import "mod_video";
import "mod_map";
import "mod_screen";
import "mod_grproc";
import "mod_proc";
import "mod_rand";
import "mod_text";
import "mod_sound";
import "mod_scroll";
import "mod_file";
import "mod_sys"

#include "jkeys.lib"

CONST
Retardo=13;
END

GLOBAL
INT Graficos;
END

PROCESS Main()
PRIVATE
string arg;
END
BEGIN
set_mode(320,240,32);
set_fps(60,1);
Graficos=load_fpg("prueba.fpg");
Put_screen(graficos,1);

Start_scroll(0,graficos,1,0,0,2);


LOOP
scroll[0].y0=scroll[0].y0-2;
END
let_me_alone();

Unload_fpg(graficos);
exit(0);
END
Title: Re: Compilar para Caanoo
Post by: FreeYourMind on January 06, 2011, 09:41:24 PM
No puedes poner 32 bits en el set_mode. Las negritas sólo soportan 16 bits, ahí tienes tu problema resuelto :)
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 09:46:14 PM
me gano de mano Free... :)

solo 16 bits soportan caanoo/wiz.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 09:46:28 PM
Vale, acabo de verlo. Vaya por dios...

Bueno, ahora nuevo problema. No me pilla los _JKEY_UP  etc...

La jkey.lib es esta:

import "mod_key";
import "mod_joy";
import "mod_proc";

/* -------------------------------------------------------------------------- */

const
   _JKEY_UP        =  0 ;
   _JKEY_UPLEFT    =  1 ;
   _JKEY_LEFT      =  2 ;
   _JKEY_DOWNLEFT  =  3 ;
   _JKEY_DOWN      =  4 ;
   _JKEY_DOWNRIGHT =  5 ;
   _JKEY_RIGHT     =  6 ;
   _JKEY_UPRIGHT   =  7 ;
   _JKEY_MENU      =  8 ;
   _JKEY_SELECT    =  9 ;
   _JKEY_L         = 10 ;
   _JKEY_R         = 11 ;
   _JKEY_A         = 12 ;
   _JKEY_B         = 13 ;
   _JKEY_X         = 14 ;
   _JKEY_Y         = 15 ;
   _JKEY_VOLUP     = 16 ;
   _JKEY_VOLDOWN   = 17 ;
   _JKEY_CLICK     = 18 ;

   _JKEY_LAST      = 19 ;

end

/* -------------------------------------------------------------------------- */

#define jkeys_controler()    _jkeys_old_version=1;jkeys_init()

/* -------------------------------------------------------------------------- */

global
   int _jkeys_exit = 0;
   int _jkeys_old_version = 0;
   int jkeys[_JKEY_LAST];
   int jkeys_state[_JKEY_LAST];
end

/* -------------------------------------------------------------------------- */

function jkeys_set_default_keys()
begin
   jkeys[ _JKEY_UP        ] = _UP ;
   jkeys[ _JKEY_UPLEFT    ] = 0 ;
   jkeys[ _JKEY_LEFT      ] = _LEFT ;
   jkeys[ _JKEY_DOWNLEFT  ] = 0 ;
   jkeys[ _JKEY_DOWN      ] = _DOWN ;
   jkeys[ _JKEY_DOWNRIGHT ] = 0 ;
   jkeys[ _JKEY_RIGHT     ] = _RIGHT ;
   jkeys[ _JKEY_UPRIGHT   ] = 0 ;
   jkeys[ _JKEY_MENU      ] = _ESC ;
   jkeys[ _JKEY_SELECT    ] = _ENTER ;
   jkeys[ _JKEY_L         ] = 0 ;
   jkeys[ _JKEY_R         ] = 0 ;
   jkeys[ _JKEY_A         ] = _A ;
   jkeys[ _JKEY_B         ] = _D ;
   jkeys[ _JKEY_X         ] = _S ;
   jkeys[ _JKEY_Y         ] = _W ;
   jkeys[ _JKEY_VOLUP     ] = 0 ;
   jkeys[ _JKEY_VOLDOWN   ] = 0 ;
   jkeys[ _JKEY_CLICK     ] = 0 ;

end

/* -------------------------------------------------------------------------- */

process jkeys_init()
private
   i;
#if 0
   axis_x, axis_y;
#endif
begin
   signal_action( s_kill, s_ign );
   signal( type jkeys_init, s_kill );
   signal_action( s_kill, s_dfl );

   priority = 999999;

   loop
       for ( i = 0; i < _JKEY_LAST; i++ )
           if ( jkeys[i] )
               jkeys_state[i] = key( jkeys[i] );
           else
               jkeys_state[i] = 0;
           end
       end

       switch ( os_id )
           case    OS_GP2X_WIZ, OS_CAANOO: /* Wiz */
                   jkeys_state[ _JKEY_UP        ] |= joy_getbutton( 0, _JKEY_UP        );
                   jkeys_state[ _JKEY_UPLEFT    ] |= joy_getbutton( 0, _JKEY_UPLEFT    );
                   jkeys_state[ _JKEY_LEFT      ] |= joy_getbutton( 0, _JKEY_LEFT      );
                   jkeys_state[ _JKEY_DOWNLEFT  ] |= joy_getbutton( 0, _JKEY_DOWNLEFT  );
                   jkeys_state[ _JKEY_DOWN      ] |= joy_getbutton( 0, _JKEY_DOWN      );
                   jkeys_state[ _JKEY_DOWNRIGHT ] |= joy_getbutton( 0, _JKEY_DOWNRIGHT );
                   jkeys_state[ _JKEY_RIGHT     ] |= joy_getbutton( 0, _JKEY_RIGHT     );
                   jkeys_state[ _JKEY_UPRIGHT   ] |= joy_getbutton( 0, _JKEY_UPRIGHT   );
                   jkeys_state[ _JKEY_MENU      ] |= joy_getbutton( 0, _JKEY_MENU      );
                   jkeys_state[ _JKEY_SELECT    ] |= joy_getbutton( 0, _JKEY_SELECT    );
                   jkeys_state[ _JKEY_L         ] |= joy_getbutton( 0, _JKEY_L         );
                   jkeys_state[ _JKEY_R         ] |= joy_getbutton( 0, _JKEY_R         );
                   jkeys_state[ _JKEY_A         ] |= joy_getbutton( 0, _JKEY_A         );
                   jkeys_state[ _JKEY_B         ] |= joy_getbutton( 0, _JKEY_B         );
                   jkeys_state[ _JKEY_X         ] |= joy_getbutton( 0, _JKEY_X         );
                   jkeys_state[ _JKEY_Y         ] |= joy_getbutton( 0, _JKEY_Y         );
                   jkeys_state[ _JKEY_VOLUP     ] |= joy_getbutton( 0, _JKEY_VOLUP     );
                   jkeys_state[ _JKEY_VOLDOWN   ] |= joy_getbutton( 0, _JKEY_VOLDOWN   );
                   jkeys_state[ _JKEY_CLICK     ] |= joy_getbutton( 0, _JKEY_CLICK     );

                   jkeys_state[ _JKEY_UP        ] |= jkeys_state[ _JKEY_UPLEFT    ] | jkeys_state[ _JKEY_UPRIGHT   ] ;
                   jkeys_state[ _JKEY_DOWN      ] |= jkeys_state[ _JKEY_DOWNRIGHT ] | jkeys_state[ _JKEY_DOWNLEFT  ] ;
                   jkeys_state[ _JKEY_LEFT      ] |= jkeys_state[ _JKEY_UPLEFT    ] | jkeys_state[ _JKEY_DOWNLEFT  ] ;
                   jkeys_state[ _JKEY_RIGHT     ] |= jkeys_state[ _JKEY_UPRIGHT   ] | jkeys_state[ _JKEY_DOWNRIGHT ] ;
           end

#if 0
           case    OS_CAANOO: /* Caanoo */

                   axis_x = joy_getaxis( 2, 0 );
                   axis_y = joy_getaxis( 2, 1 );

                   jkeys_state[ _JKEY_UP        ] |= ( axis_y < -16384 );
                   jkeys_state[ _JKEY_UPLEFT    ] |= ( axis_y < -16384 ) && ( axis_x < -16384 );
                   jkeys_state[ _JKEY_LEFT      ] |=                        ( axis_x < -16384 );
                   jkeys_state[ _JKEY_DOWNLEFT  ] |= ( axis_y >  16384 ) && ( axis_x < -16384 );
                   jkeys_state[ _JKEY_DOWN      ] |= ( axis_y >  16384 );
                   jkeys_state[ _JKEY_DOWNRIGHT ] |= ( axis_y >  16384 ) && ( axis_x > 16384 );
                   jkeys_state[ _JKEY_RIGHT     ] |=                        ( axis_x > 16384 );
                   jkeys_state[ _JKEY_UPRIGHT   ] |= ( axis_y < -16384 ) && ( axis_x > 16384 );
                   jkeys_state[ _JKEY_MENU      ] |= joy_getbutton( 0, _JKEY_MENU      );
                   jkeys_state[ _JKEY_SELECT    ] |= joy_getbutton( 0, _JKEY_SELECT    );
                   jkeys_state[ _JKEY_L         ] |= joy_getbutton( 0, _JKEY_L         );
                   jkeys_state[ _JKEY_R         ] |= joy_getbutton( 0, _JKEY_R         );
                   jkeys_state[ _JKEY_A         ] |= joy_getbutton( 0, _JKEY_A         );
                   jkeys_state[ _JKEY_B         ] |= joy_getbutton( 0, _JKEY_B         );
                   jkeys_state[ _JKEY_X         ] |= joy_getbutton( 0, _JKEY_X         );
                   jkeys_state[ _JKEY_Y         ] |= joy_getbutton( 0, _JKEY_Y         );
                   jkeys_state[ _JKEY_VOLUP     ] |= joy_getbutton( 0, _JKEY_VOLUP     );
                   jkeys_state[ _JKEY_VOLDOWN   ] |= joy_getbutton( 0, _JKEY_VOLDOWN   );
                   jkeys_state[ _JKEY_CLICK     ] |= joy_getbutton( 0, _JKEY_CLICK     );

                   jkeys_state[ _JKEY_UP        ] |= jkeys_state[ _JKEY_UPLEFT    ] | jkeys_state[ _JKEY_UPRIGHT   ] ;
                   jkeys_state[ _JKEY_DOWN      ] |= jkeys_state[ _JKEY_DOWNRIGHT ] | jkeys_state[ _JKEY_DOWNLEFT  ] ;
                   jkeys_state[ _JKEY_LEFT      ] |= jkeys_state[ _JKEY_UPLEFT    ] | jkeys_state[ _JKEY_DOWNLEFT  ] ;
                   jkeys_state[ _JKEY_RIGHT     ] |= jkeys_state[ _JKEY_UPRIGHT   ] | jkeys_state[ _JKEY_DOWNRIGHT ] ;
           end
#endif
       end

       frame;
   end

onexit:
   if ( !_jkeys_exit && !_jkeys_old_version ) jkeys_init(); end

end

/* -------------------------------------------------------------------------- */

function jkeys_exit()
begin
   _jkeys_exit = 1;
   signal( type jkeys_init, s_kill );
end

/* -------------------------------------------------------------------------- */


Que yo sepa es la buena no?

Pues no me pilla ni una tecla... bueno, no exáctamente. Me las pilla como si estuviesen todo el rato pulsadas. Aunque las de _JKEY_UP, _JKEY_DOWN, _JKEY_LEFT, _JKEY_RIGHT se supone que son del joystick ese chiquitín no?? Porque ese ni lo pulsa todo el rato, ni responde a él. Y le he dicho que el disparo sea _JKEY_B y lo que hace es disparar todo el rato.

¿Qué ocurre?
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 09:49:02 PM
tenes que hacer un

jkeys_set_default_keys();

luego un

jkeys_init();

y antes de salir un

jkeys_exit();
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 09:50:05 PM
las dos primeras irían justo después del begin?
Title: Re: Compilar para Caanoo
Post by: FreeYourMind on January 06, 2011, 09:51:14 PM
Y porque se tiene que poner al salir ? Ya sólo faltaria ponerte a descargar todos los recursos al salir tambien xDDD
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 09:53:41 PM
he puesto el main asi y sigue sin ir:

PROCESS Main()
PRIVATE
string arg;
END
BEGIN
jkeys_set_default_keys();
jkeys_init();
idfich=fopen("dll/punts_ind.yawin",1);
for(i=0;i<5;i++)
puntuaciones[i]=fgets(idfich);
end
set_mode(320,240,16);
set_fps(60,1);
Graficos=load_fpg("dll/prueba.fpg");
//sonn[0]=load_wav("sounds/054-Cannon03.ogg");
//sonn[1]=load_wav("sounds/057-Wrong01.wav");
//set_wav_volume(sonn[0],35);
Put_screen(graficos,1);

nav=Nave();
vida();
energia_nave();
musica();
Start_scroll(0,graficos,1,0,0,2);

write(0,51,40,1," Tu puntuación");
write_var(0,51,50,1,Punt);
write(0,60,65,1," Naves destruidas");
write_var(0,50,75,1,Matados);

conts=retard;
LOOP
scroll[0].y0=scroll[0].y0-2;
if(rand(1,1000)<=rand(1,15))
conts-=1;
if(conts<=0)
paquete_mejora(rand(0,320),rand(3,4));
conts=retard;
end
end
If(rand(0,100)<(Punt/100))
enemigo(rand(0,320), rand(-3,3),rand(1,3));
End
//if (_JKEY_MENU) break; end
FRAME;
If (vidas<=0)
break;
End
END
let_me_alone();

fclose(idfich);
idfich=fopen("dll/punts_ind.yawin",2);
for(i=0;i<5;i++)
if(puntuaciones[i]<Punt)
a=i;
for(i=4;i>a;i--)
puntuaciones[i]=puntuaciones[i-1];
end
puntuaciones[a]=punt;
i=5;
end
end
for(i=0;i<5;i++)
fputs(idfich, puntuaciones[i]);
end
delete_text(0);
write(0,200,100,1,"MEJORES PUNTUACIONES");
for(i=0;i<5;i++)
write_var(0,200, 120+(i*10),1, puntuaciones[i]);
end
write(0,118,100,1,"FIN DEL JUEGO");
write(0,120,120,1,"Tu puntuación");
write_var(0,120,130,1,Punt);
write(0,119,145,1,"Naves destruidas");
write_var(0,120,155,1,Matados);
write(0,219,185,1,"Pulsa R para continuar");
repeat
frame;
until(_JKEY_R);
arg="Ejecutar.bat";
//exec(_P_NOWAIT,"Ejecutar.bat",1,&arg);
Unload_fpg(graficos);
jkeys_exit();
exit(0);

END
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 09:54:06 PM
Quote from: yawin on January 06, 2011, 09:50:05 PM
las dos primeras irían justo después del begin?

si

Quote from: FreeYourMind on January 06, 2011, 09:51:14 PM
Y porque se tiene que poner al salir ? Ya sólo faltaria ponerte a descargar todos los recursos al salir tambien xDDD

eso lo deberias saber...

la respuesta es simple, porque es un controlador que se respawnea cuando se lo mata, por ende necesita otro metodo para morir, sino la aplicacion completa no saldra nunca, ni con un let_me_alone, creo que ni siquiera saldria con un exit... pero no me acuerdo, igualmente, la mayoria de las personas no usan exit... y si tenes un init, lo logico es que tengas un exit.
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 09:55:30 PM
claro, no va, porque eso no compila.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 09:56:10 PM
y en qué falla??
porque la Caanoo cuando compila no me dice qué falla xD
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 09:56:17 PM
te recomiendo que primero lo intentes compilar en la pc.

te falla que no tenes un monton de modulos importados, y tambien un monton de variables sin definir.

eso se ve sin necesidad de compilar.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 09:58:14 PM
Esque me da un error con la jkey.lib

Me dice...
"Unknown identifier ("OS_CAANOO")

En la línea 96
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 10:02:06 PM
tambien estas usando mal la funcion...

te recomiendo que chequees los ejemplos que vienen con el runtime?

no es (que ademas esta comentado):

      //if (_JKEY_MENU) break; end

sino que es

      IF (jkeys_state[_JKEY_MENU]) break; end
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 10:04:23 PM
estaba comentado, porque si no, se salía automáticamente. Voy a probar. Miles de gracias por vuestra ayuda.

Siento mis molestos problemas uno tras otro.
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 10:08:01 PM
no hay problema, pregunta todo lo que quieras, solo te sugiero que veas los ejemplos, porque estan simples y te pueden aclarar muchas cosas.

quizas los mas simples son los de test_keys o test_joys o el de los acelerometros, porque son cortitos.

por otro lado, me olvide, felicitaciones por tu Caanoo.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 10:10:26 PM
jajajaja, gracias. Fue tan sencillo como decirles a "los reyes" quieto esto y enseñarles una web donde comprarla impresa
xD
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 10:11:20 PM
Quote from: yawin on January 06, 2011, 10:10:26 PM
jajajaja, gracias. Fue tan sencillo como decirles a "los reyes" quieto esto y enseñarles una web donde comprarla impresa
xD


despues dicen que los reyes no existen! aca hay alguien que confirma que si existen! :D
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 10:13:40 PM
oh, tu dile a m madre que no es la reina de la casa y te revienta a leches.

Por cierto, en los ejemplos no veo cómo se usa el jkey_init()
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 10:16:56 PM
tienes razon, no solo esos no usan la jkeys.lib, sino que los que la usan, estan con una version antigua...

bueno, fijate el test del primer post del hilo de la libreria, ahi se ve claro.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 06, 2011, 10:46:34 PM
Vale, ya me funciona casi todo. Sólo me falla una cosa. Esto:
PROCESS musica()
PRIVATE
INT can[6];
INT i,j=0;
END
BEGIN
can[0]=load_song("sounds/1.mid");
can[1]=load_song("sounds/mm2meta2.mid");
can[2]=load_song("sounds/mm2wy1.mid");
can[3]=load_song("sounds/mm2w1rm.mid");
can[4]=load_song("sounds/mm3shado.mid");
can[5]=load_song("sounds/mm3spar2.mid");

for(i=0;i<=6;i++)
if(_JKEY_A)
while(_JKEY_A)
frame;
end
if(j==0)
signal(type main, s_freeze_tree);
j=1;
else
signal(type main, s_wakeup);
j=0;
end
end
if(i==6)
i=0;
end
if(IS_PLAYING_SONG())
i-=1;
else
if(i==0)
set_song_volume(35);
else
set_song_volume(100);
end
Play_song(can[i],0);
end
frame;
end
END
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 06, 2011, 10:48:32 PM
que es lo que falla? la reproduccion de .mid?

en caanoo, tenes que instalar los bancos midi, y no me acuerdo que mas.

quizas alguien mas te pueda dar una mano si es eso.

quizas Free.
Title: Re: Compilar para Caanoo
Post by: FreeYourMind on January 06, 2011, 11:00:31 PM
Nunca he trabajado con midi's en un div-like...
Tampoco entiendo para que quieres el for, ese es todo el sonido que esta sonando ? Yo simplificaria el procedimiento.
Title: Re: Compilar para Caanoo
Post by: Drumpi on January 07, 2011, 12:16:30 AM
Para los midi se necesitaba una librería llamada... ups, olvidé el nombre ¿mik_mod? No se, se necesita eso y descargar los sonidos aparte, son unos 32MB de datos, y no se suelen poner porque los instrumentos suelen tener copyright, por lo que te sugiero su conversión a otro formato (de paso, con unprograma que te permita elegir instrumentos de buena calidad): lo bueno de load_song es que no carga la canción completa en memoria, sino la parte que necesita reproducir.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 07, 2011, 09:40:28 AM
A ver, por partes:
La razón por la que usé midi era porque, por un lado, me venían en midi. Y por otro lado, porque le daba un aspecto más retro al juego. No quiero instrumentos de buena calidad, porque en los 80 no sonaban asi los juegos xD

Y Free, el for sirve para ir cambiando de canción. Para que no suene todo el rato la misma.

Conocéis algún conversor que pase de midi a ogg, o algo asi??
Title: Re: Compilar para Caanoo
Post by: FreeYourMind on January 07, 2011, 09:58:46 AM
http://www.modplug.com/
Title: Re: Compilar para Caanoo
Post by: Yawin on January 07, 2011, 10:44:17 AM
Muchas gracias.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 07, 2011, 11:19:05 AM
Me voy a cagar en esta consolita de los h*****
Ahora estoy pasando el arcade que tengo posteado en otro tema, y no consigo ni que compile. Pero lo más acojonante es que en el orenador compila bien. En la caanoo sólo le he cambiado las teclas.

La resolución la tienen cambiada los dos. Y está a 16 bits.

Menos mal que Bennu es multiplataforma, que si no... jajajajajajaja
(esto último es broma xD).
Title: Re: Compilar para Caanoo
Post by: Yawin on January 07, 2011, 11:39:01 PM
La Caanoo permite emplear FNT's?? si, no??

Por otro lado, hay alguna forma de hacer que el compilador de Caanoo me guarde en un fichero los errores de compilación? porque esto de que no saque nada me está matando xD
Title: Re: Compilar para Caanoo
Post by: Drumpi on January 07, 2011, 11:51:35 PM
Sí, si haces las llamadas a BGDC y BGDI en el .GPE así:

bgdc tujuego.prg >log1.txt 2>err1.txt
bgdi tujuego.dcb >log2.txt 2>err2.txt
Title: Re: Compilar para Caanoo
Post by: Yawin on January 08, 2011, 12:07:56 AM
Es curioso, en el conpilador de la caanoo en el log1 me mete isn't DCB 7 compatible o algo asi y el error me lo deja en blanco, y el mismo scrpit y mismo codigo en el windows me compila bien
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 08, 2011, 12:28:59 AM
dcb 7 lo dice bgdi... asi que quizas tenes mal el script.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 08, 2011, 10:05:49 AM
pues es exactamente el mismo scrit que el que tengo para el otro que sí me funciona bien. Por eso he dicho que me ocurre algo to raro xD

Este es el script:
#!/bin/sh
unset OS_ID

## Is important set first bgd-runtime folder
LD_LIBRARY_PATH_BAK=$LD_LIBRARY_PATH
PATH_BAK=$PATH

LD_LIBRARY_PATH=../bgd-runtime:$LD_LIBRARY_PATH
PATH=../bgd-runtime:$PATH

### For use Wiz games on Caanoo uncomment the next lines
#OS_ID=8
#export OS_ID

echo 2 > /proc/cpu/alignment

for prg in *.prg; do
    name=`basename $prg .prg`
    bgdc $prg >log1.txt 2>err1.txt
    bgdi $name
done

sync

LD_LIBRARY_PATH=$LD_LIBRARY_PATH_BAK
PATH=$PATH_BAK

cd /usr/gp2x
exec /usr/gp2x/gp2xmenu

Title: Re: Compilar para Caanoo
Post by: FreeYourMind on January 08, 2011, 10:28:34 AM
Tienes el script mal, estas llamando bgdi $name y name termina en .prg, y tu tienes que llamar el dcb con el interprete no el prg  ;D
Title: Re: Compilar para Caanoo
Post by: Yawin on January 08, 2011, 10:32:20 AM
Pero has leído el script bien??
bgdi no tiene que meter nada en log.txt porque no pone nada en esa linea y aun asi aparece lo de dcb 7.

por otro lado, es el código que venía con el pac-man, y con los tests, por tanto si en ellos funciona, en este debería. Y de hecho, con otro juego que he metido, también funciona.
Title: Re: Compilar para Caanoo
Post by: FreeYourMind on January 08, 2011, 12:41:19 PM
Prueba con este:

#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../bgd-runtime
PATH=$PATH:../bgd-runtime
echo 2 > /proc/cpu/alignment
bgdc TuJuego.prg 1>log1.txt 2>log2.txt
bgdi TuJuego.dcb 3>log3.txt 4>log4.txt
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu

Cambia el nombre por el de tu juego
Title: Re: Compilar para Caanoo
Post by: Yawin on January 08, 2011, 01:22:10 PM
Con ese script, la consola se me bolquea.
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 08, 2011, 01:30:39 PM
que raro... y el prg que estas queriendo compilar?
Title: Re: Compilar para Caanoo
Post by: Yawin on January 08, 2011, 01:32:41 PM
La cosa es que el prg que quiero compilar, en windows funciona bien. Si le cambio las teclas (únicamente las teclas), no me compila. Intento redireccionar los errores a un fichero y el bgdc me dice noseque de dcb 7. Y si pongo el script de drumpi, se me cuelga la consola en la pantalla que saca siempre que va a cargar un programa (que tiene un reloj de arena y tal).
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 08, 2011, 01:41:48 PM
arma un paquete con todo el directorio, incluido el ini que queres probar y postealo aca o mandamelo por mail.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 08, 2011, 02:17:46 PM
Es esto:
http://pensarescompartir.com/lahsoft/lahsoftcorp/?direc=fenix/&id=bgd-arcade.rar

Seguramente sea un error completamente mio, porque soy un imbécil redomado, pero bueno. En cualquier caso, toma karma++
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 08, 2011, 02:56:11 PM
el problema es que no tenes 1 solo enter en el "bgd-marcianitos arcade.gpe"

tambien te sugiero que uses nombres cortos y sin espacios.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 08, 2011, 02:57:35 PM
no, pero esque es asi como venía el gpe del pac-man y le funcionaba bien. Es más, al script gpe del pacman, le meto enters y no va xD
Title: Re: Compilar para Caanoo
Post by: FreeYourMind on January 08, 2011, 03:47:06 PM
Yo sin karmas no ayudo  ;D
Es broma  ;D
Que editor utilizas para modificar el gpe ? Utiliza el Notepad++ para evitar problemas con el formato en Windows.
Title: Re: Compilar para Caanoo
Post by: SplinterGU on January 08, 2011, 04:09:15 PM
no, no viene asi, debe ser el editor que usaste para abrirlo.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 08, 2011, 09:25:49 PM
lo abro con el mítico Bloc de notas de toda la vida.
Title: Re: Compilar para Caanoo
Post by: FreeYourMind on January 08, 2011, 09:36:32 PM
Ahí tienes el error, ese no te sirve ya que te formata el texto en codificación ANSI por defecto. Usa el notepad++.
Title: Re: Compilar para Caanoo
Post by: Yawin on January 10, 2011, 10:22:09 PM
Vale, lo del script era eso xD
Lo del Notepad++ jajajaja