CHIPMUNK en bennu

Started by Prg, January 12, 2011, 04:27:44 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

seguramente falta una dependencia, si da ese mensaje y la .so se encuentra en el path.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

Tienes que compilar primero la chipmunk de c (creo que aquí está el código con los .h y los .c  http://www.mediafire.com/?3hqem4p72bcta10  ), y luego usarla para crear la mod_chipmunk de bennu.

Ahorita estoy en windows, pero si te sirve te puedo pasar la que tengo compilada de ubuntu.

en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

josebita

Splinter, aunque creo que lo he dicho alguna vez creo que en estos casos ayudaría mucho que si loadlib.h no puede cargar la librería, imprima el dliberror que ahora mismo se está descartando (corrígeme si me equivoco)

SplinterGU

Quote from: josebita on February 14, 2011, 02:47:39 AM
Splinter, aunque creo que lo he dicho alguna vez creo que en estos casos ayudaría mucho que si loadlib.h no puede cargar la librería, imprima el dliberror que ahora mismo se está descartando (corrígeme si me equivoco)

no, porque la loadlib.h es algo generico, y no en todos los casos la no carga de una libreria significa la finalizacion en la ejecucion, eso lo debe decidir una capa de arriba... tal vez en el futuro, pueda implementar unas cosas que tengo en mente donde esto se aplicara y tener un mensaje de ese estilo en esa capa seria un grave error.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: Prg on February 14, 2011, 02:24:29 AM
Tienes que compilar primero la chipmunk de c (creo que aquí está el código con los .h y los .c  http://www.mediafire.com/?3hqem4p72bcta10  ), y luego usarla para crear la mod_chipmunk de bennu.

Ahorita estoy en windows, pero si te sirve te puedo pasar la que tengo compilada de ubuntu.



quiero suponer que free ya la compilo antes de reportar que le fallaba... asi que me suena que le debe faltar otra cosa.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

Quote from: josebita on January 30, 2011, 11:23:49 PM
Anda, pues mira, el tema del ejemplo de los dominós sí es por la resolución.
¿Asumes que la pantalla se ha inicializado siempre?. Puede que una comprobación para ver si lo ha hecho de verdad venga bien...

En cualquier caso, se agradecen los proyectos, lo miraré con cariño (el martes, probablemente, hasta entonces no puedo).

PD: Los directorios de include que yo uso son:
[code language="bash"]-D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/bennugd -I/usr/include/bennugd/libdraw -I/usr/include/bennugd/libgrbase -I/usr/include/bennugd/librender -I/usr/include/bennugd/libvideo -I/usr/include/bennugd/libblit -I/usr/include/SDL -I/usr/include/bennugd/mod_map -I/usr/include/bennugd/libfont[/code]
y las librerías para compilar:
[code language="bash"]-L/usr/lib/bennugd -ldraw -lrender -lSDL -lmod_map -lvideo -lblit -lfont -lgrbase -lbgdrtm[/code]
Salen de hacer pkg-config con las librerías necesarias con la versión de Bennu de mi PPA.

Necesitas tener a todas las librerías de arriba.
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

FreeYourMind

Luego reviso las dependencias, pero habia mirado las que me dijiste antes y creo que las tenia todas.

No entiendo muy bien lo que decis de compilar primero la chipmunk de c, yo sólo he compilado la main.c, que es el modulo para Bennu.

josebita

Quote from: SplinterGU on February 14, 2011, 03:16:38 AM
Quote from: josebita on February 14, 2011, 02:47:39 AM
Splinter, aunque creo que lo he dicho alguna vez creo que en estos casos ayudaría mucho que si loadlib.h no puede cargar la librería, imprima el dliberror que ahora mismo se está descartando (corrígeme si me equivoco)

no, porque la loadlib.h es algo generico, y no en todos los casos la no carga de una libreria significa la finalizacion en la ejecucion, eso lo debe decidir una capa de arriba... tal vez en el futuro, pueda implementar unas cosas que tengo en mente donde esto se aplicara y tener un mensaje de ese estilo en esa capa seria un grave error.
Bueno, en tal caso que sólo avise con un warning, o -mejor aún- que avise sólo cuando se compila en modo debug. Así el mensaje no aparecerá en general pero sí se le puede pedir al usuario que compile así para probar.

SplinterGU

Quote from: josebita on February 14, 2011, 05:07:51 PM
Quote from: SplinterGU on February 14, 2011, 03:16:38 AM
Quote from: josebita on February 14, 2011, 02:47:39 AM
Splinter, aunque creo que lo he dicho alguna vez creo que en estos casos ayudaría mucho que si loadlib.h no puede cargar la librería, imprima el dliberror que ahora mismo se está descartando (corrígeme si me equivoco)

no, porque la loadlib.h es algo generico, y no en todos los casos la no carga de una libreria significa la finalizacion en la ejecucion, eso lo debe decidir una capa de arriba... tal vez en el futuro, pueda implementar unas cosas que tengo en mente donde esto se aplicara y tener un mensaje de ese estilo en esa capa seria un grave error.
Bueno, en tal caso que sólo avise con un warning, o -mejor aún- que avise sólo cuando se compila en modo debug. Así el mensaje no aparecerá en general pero sí se le puede pedir al usuario que compile así para probar.

lo del debug puede ser... como sea, tengo que darle una revision general a los mensajes y corregirlos, hay algunos que usan los defines del messages.h y otros ponen la string directa.

tengo que corregirlo y de paso probar el tema de los lang.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

Quote from: FreeYourMind on February 14, 2011, 07:00:07 AM
Luego reviso las dependencias, pero habia mirado las que me dijiste antes y creo que las tenia todas.

No entiendo muy bien lo que decis de compilar primero la chipmunk de c, yo sólo he compilado la main.c, que es el modulo para Bennu.

Entonces ahí está el problema.

La mod_chipmunk usa una librería llamada chipmunk, esta librería hay que compilarla y luego usarla para compilar el main.c de bennu y el resultado de compilar esta última se tiene que llamar mod_chipmunk.

En resumidas cuentas tienes que agregar la librería libchipmunk.a. El código a partir del cual se crea la libchipmunk.a está en este link
http://www.mediafire.com/?3hqem4p72bcta10

el link ya lo había pasado, quizá ya lo hayas descargado

En la carpeta codeblocks viene un proyecto para generar la librería, pero falta agregarle algunos archivos de la carpeta src. Sin embargo no creo que te sirva un proyecto de codeblocks (en caso contrario dímelo y te mando el actual). De cualquier forma en ese link viene los .h y .c para generarla. Nunca he generado librerías sin mi Ide, así que no podré ayudarte mucho en el proceso, pero josebita sí lo ha hecho  ::) así que podemos abusar de su amabilidad una o dos veces  ;D XD
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Windgate

Prg, me siento ofendido... Ahora acabo de tener noticias de que existía esta librería... :-[

Por favor, quiero el ejemplo más GROSO, por privado si hace falta, o publica el último link porque 10 páginas de post se me apoderan un poco para comerlas de golpe.

La lluvia de karmas para cuando lo examine y lo insemine apropiadamente.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

SplinterGU

wind, es imperdonable lo tuyo!
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Gracias PRG.
Aye le puse mas dependencias, la so quedo ocupando lo mismo pero se congelaba en el loading y no llegaba ni siquiera a imprimir logs de error.

Hoy por la noche miraré a ver, estaba pensando que igual poniendo el codigo de la chipmunk dentro del modulo y compillarlo de nuevo igual seria mas facil (no he mirado todavia la chipmunk). De todas formas ya miraré a ver.

FreeYourMind

Queria comentaros 3 puntos por separado:

1 - Para PRG: He intentado compilar chipmunk.c, he creado el objeto pero he tenido que poner la directiva -std=c99 en el gcc.

Me falta linkar libs, sabes cuales son ? Por cierto estaba creando un modulo dinamico .so, como se puede en su lugar crear un modulo estatico .a ?

2 - He tenido una idea tontorrona que no se si es valida en el mundo de la compilacion heheheheh, como tenia el objeto creado tuve la brillante idea de llevarlo al make del mod_chipmunk.so, y en el make juntarlo a la lista de objetos, con lo cual tuve un nuevo mod_chipmunk.so que incluye los 2 objetos, curiosamente ocupa tamaño similar al de la version windows, o sea, 115,3 kb.
Lo meti en la caanoo esperando un milagro de newie xDDD pero no funciona, este también se queda en el loading y no llega tampoco a los logs.

3 - Esto es la primera vez que lo veo, el link de una demo de este modulo (ejemplo que adapte a caanoo) para el menu juegos de la Caanoo, no me sale en el menu!!!! En cambio si entro por el explorer, si que sale, y con el icono de imagen correctamente.

Os paso los ficheros a los que teneis caanoo para que lo mireis a ver que puede ser, yo no veo nada raro en las rutas (vamos, llevo haciendo este hace tiempo, adaptando estos ini's,  y nunca me ha pasado)

(Quitar extension rar, lo he comprimido en linux)

SplinterGU

prg, estuve viendo el codigo de tu demo 111AAAGira2d y la verdad me encanto como quedo el tema de las variables y las addsegment no me parecen nada grave, asi que me encanta el modulo.

eso si, el juego es complicado, junto todos las figuras pero ni loco puedo hacer entrar la bola por la puerta.

se necesita un tutorial de como usar el modulo.

una pregunta, quedaron resueltos todos los problemas, como ser por ejemplo, eso que decias del frame que si el objeto no estaba creado? le falta algo al modulo? alguna limitacion con respecto a la lib chipmunk?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2