PDA

Ver la versión completa : Cuando salgo de mi juego y vuelvo a entrar = pantalla negra.



J_F_NASH
02/05/2007, 21:56
Tengo casi una alpha de mi primer juego realizado con SDL. El asunto es que estando en la GP2x cuando salgo de mi juego, utilizando:
chdir("/usr/gp2x");
execl("/usr/gp2x/gp2xmenu", "/usr/gp2x/gp2xmenu", NULL);

... y vuelvo a entrar desde el menu de la GP (sin haber apagado la consola) ya no vuelve a entrar, la pantalla se pone en negro y ni siquiera aparece el raton en la esquina superior izquierda.


S2.

maRRRc!
04/05/2007, 14:54
No se si será esto, pero asegurate de que finalizas correctamente las SDL.

JoJo_ReloadeD
04/05/2007, 14:58
Tengo casi una alpha de mi primer juego realizado con SDL. El asunto es que estando en la GP2x cuando salgo de mi juego, utilizando:
chdir("/usr/gp2x");
execl("/usr/gp2x/gp2xmenu", "/usr/gp2x/gp2xmenu", NULL);

... y vuelvo a entrar desde el menu de la GP (sin haber apagado la consola) ya no vuelve a entrar, la pantalla se pone en negro y ni siquiera aparece el raton en la esquina superior izquierda.


S2.

Creo que lo ideal es terminar tu programa sin mas, sin hacer llamada al menu, y hacer esto desde el script que lanza tu programa:

tuprograma.gpe

#!/bin/bash
./tuprograma
/usr/gp2x/gp2xmenu

o al menos asi veo que lo hacen muchos programas :)

J_F_NASH
04/05/2007, 16:47
Creo que lo ideal es terminar tu programa sin mas, sin hacer llamada al menu, y hacer esto desde el script que lanza tu programa:

tuprograma.gpe

#!/bin/bash
./tuprograma
/usr/gp2x/gp2xmenu

o al menos asi veo que lo hacen muchos programas :)


¿Podrías explicar que hace ese código exactamente?. ¿Lanzar tu juego? ¿cerrarlo? ¿Las dos cosas?.


S2.

J_F_NASH
10/05/2007, 10:17
Nada, sigo con el problema.
Utilizo:
SDL_image
SDL_mixer
SDL_gfx
SDL_ttf

Esto es lo que hago al iniciar y cerrar ¿se me pasa algo?:

Inicio:
SDL_Init( SDL_INIT_EVERYTHING );

Cierre:

Mix_FreeChunk(startwav);

SDL_FreeSurface(playerpng);

TTF_CloseFont(arialfont);

SDL_JoystickClose(JOY);

Mix_CloseAudio();

TTF_Quit();
SDL_Quit();



S2

KaosOverride
11/05/2007, 11:09
tuprograma.gpe

#!/bin/bash
./tuprograma
exec /usr/gp2x/gp2xmenu



El exec mejor, que sino quedan shells fantasma por ahi zombies :) ese comando lo que hace es sustituir el proceso actual por el que ejecutas (Eso es, que CIERRA la shell y abre en su lugar el menu!!!)

Se supone que en los compilados en C, deberia hacer como el exec

< - >

Tengo casi una alpha de mi primer juego realizado con SDL. El asunto es que estando en la GP2x cuando salgo de mi juego, utilizando:
chdir("/usr/gp2x");
execl("/usr/gp2x/gp2xmenu", "/usr/gp2x/gp2xmenu", NULL);

... y vuelvo a entrar desde el menu de la GP (sin haber apagado la consola) ya no vuelve a entrar, la pantalla se pone en negro y ni siquiera aparece el raton en la esquina superior izquierda.


Prueba a poner un exit(0); despues del execl. Igual cuela :)

Una cosa que haria seria unir la GP2x con el cable USB, activar el USB networking y activar el servidor telnet. Haces un telnet a la GP2x y matas el menu de la GP2x ( killall -9 gp2xmenu ) y desde la shell lanza el programa. Una vez dentro, sal. Se lanza el menu de la gp2x, no lo mates, LANZA tu programa de nuevo y a ver que pone en el texto de la shell.