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.

josebita

#75
He empaquetado la última Chipmunk en mi PPA y he podido compilarme esta librería, pero aunque algunas cosas funcionan bien, la librería casca bastante en mi Ubuntu con el siguiente backtrace:
[code language="bash"]josebage@joseba-AAO:~/cvs/bennugd-module-chipmunk/samples$ bgdi carroBennuNativamente.dcb
65561
*** glibc detected *** carroBennuNativamente.dcb: double free or corruption (!prev): 0x08a5e870 ***
======= Backtrace: =========
/lib/libc.so.6(+0x6c1a1)[0x17c1a1]
/lib/libc.so.6(+0x6dafb)[0x17dafb]
/lib/libc.so.6(cfree+0x6d)[0x180c8d]
/home/josebage/cvs/bennugd-module-chipmunk/samples/../libchipmunk.so(+0x14e0e)[0xe5be0e]
/home/josebage/cvs/bennugd-module-chipmunk/samples/../libchipmunk.so(+0x16660)[0xe5d660]
/home/josebage/cvs/bennugd-module-chipmunk/samples/../libchipmunk.so(cpHashSetEach+0x3e)[0xe6713e]
/home/josebage/cvs/bennugd-module-chipmunk/samples/../libchipmunk.so(cpSpaceStep+0x406)[0xe5def6]
/home/josebage/cvs/bennugd-module-chipmunk/samples/../libchipmunk.so(+0x1570c)[0xe5c70c]
/usr/lib/bennugd/libbgdrtm.so(instance_go_all+0x27e)[0x94dace]
carroBennuNativamente.dcb[0x8048d95]
/lib/libc.so.6(__libc_start_main+0xe6)[0x126ce6]
carroBennuNativamente.dcb[0x8048af1][/code]
Puede ser porque estoy ejecutando la versión en desarrollo de Ubuntu, pero no creo. ¿Alguna idea, prg?.

Una cosa que me he fijado es que en el ejemplo carrobennunativamente, el programa casca inmediatamente cuando hago click en cualquier casilla fuera los objetos físicos, pero parece ir bien cuando hago click en los objetos.
Adjunto la librería compilada para linux, por si alguien puede echarle un ojo.

[Edito] Al código que has puesto le falta cambiar (línea 4660) "nombremodulo" por libchipmunk.
[Edito2] Cuando la librería se rompe, a veces sale lo de arriba y otras, símplemente:
[code language="bash"]josebage@joseba-AAO:~/cvs/bennugd-module-chipmunk/samples$ bgdi carroBennuNativamente.dcb
65561
Violación de segmento (`core' generado)
[/code]

Prg

Quote from: SplinterGU on January 28, 2011, 11:23:20 PM
hay que resolver el tema del frame...

por eso decia yo de que el cuerpo no lo crees en el proceso, sino por variables... tambien podes crearlo ni bien sale el proceso (frame) y no esperar el frame real, esto es por si otros procesos interactuan con este proceso... esto se hace con un callback, algo de post_process o algo asi.

el cuerpo se crea por variables, por eso es el problema.

Quote from: josebita on January 29, 2011, 02:23:24 AM
He empaquetado la última Chipmunk en mi PPA y he podido compilarme esta librería, pero aunque algunas cosas funcionan bien, la librería casca bastante en mi Ubuntu con el siguiente backtrace:
[code language="bash"]josebage@joseba-AAO:~/cvs/bennugd-module-chipmunk/samples$ bgdi carroBennuNativamente.dcb
65561
*** glibc detected *** carroBennuNativamente.dcb: double free or corruption (!prev): 0x08a5e870 ***
======= Backtrace: =========
/lib/libc.so.6(+0x6c1a1)[0x17c1a1]
/lib/libc.so.6(+0x6dafb)[0x17dafb]
/lib/libc.so.6(cfree+0x6d)[0x180c8d]
/home/josebage/cvs/bennugd-module-chipmunk/samples/../libchipmunk.so(+0x14e0e)[0xe5be0e]
/home/josebage/cvs/bennugd-module-chipmunk/samples/../libchipmunk.so(+0x16660)[0xe5d660]
/home/josebage/cvs/bennugd-module-chipmunk/samples/../libchipmunk.so(cpHashSetEach+0x3e)[0xe6713e]
/home/josebage/cvs/bennugd-module-chipmunk/samples/../libchipmunk.so(cpSpaceStep+0x406)[0xe5def6]
/home/josebage/cvs/bennugd-module-chipmunk/samples/../libchipmunk.so(+0x1570c)[0xe5c70c]
/usr/lib/bennugd/libbgdrtm.so(instance_go_all+0x27e)[0x94dace]
carroBennuNativamente.dcb[0x8048d95]
/lib/libc.so.6(__libc_start_main+0xe6)[0x126ce6]
carroBennuNativamente.dcb[0x8048af1][/code]
Puede ser porque estoy ejecutando la versión en desarrollo de Ubuntu, pero no creo. ¿Alguna idea, prg?.

Una cosa que me he fijado es que en el ejemplo carrobennunativamente, el programa casca inmediatamente cuando hago click en cualquier casilla fuera los objetos físicos, pero parece ir bien cuando hago click en los objetos.
Adjunto la librería compilada para linux, por si alguien puede echarle un ojo.

[Edito] Al código que has puesto le falta cambiar (línea 4660) "nombremodulo" por libchipmunk.
[Edito2] Cuando la librería se rompe, a veces sale lo de arriba y otras, símplemente:
[code language="bash"]josebage@joseba-AAO:~/cvs/bennugd-module-chipmunk/samples$ bgdi carroBennuNativamente.dcb
65561
Violación de segmento (`core' generado)
[/code]

ahm, necesito revisar. reviso y te digo:

lo del mouse, no lo había visto.

Los otros errores no se qué sea.

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

Prg

ya he revisado la librería. No me aparece nada, doy click fuera de los objetos y no casca.

La he probado en windows 7.

también la probé en win xp, pero lo del click no lo revisé. sólo revisé que funcionara y sí lo hacía.

sólo te casca en el del carro?

sólo cuando haces click?

se alcanzan a mostrar los objetos?

te pasa lo mismo en cambioZona?

gracias y perdón por las molestias. en windows cuando quiere casca y ahora no me quiere cascar XD
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

FreeYourMind

Me casca cambioZona y carroBennuNativamente

josebita

Estoy igual que free. Sólo por aclarar, estoy en linux. Hay dos ejemplos que van genial, pero los que dice free cascan al pulsar fuera del objeto cascan y el de los dominos no arranca. Intentaré probar cosas cuando pueda, mientras tanto ¿qué opciones de compilación usas? ¿Versión de chipmunk?

FreeYourMind

#80
Estoy intentando portarla a Caanoo, mas detalles en horas.

EDIT: EL CVS de Bennu sigue offline despues de varios dias... Voy as usar una version mas antigua de momento....

Prg

bueno, eso ya me dice algo..

de pura casualidad, cuando compilaron en ubuntu, cambiaron algo de la librería?

lo que pasa es que la librería se puede compilara para que use floats en lugar de doubles internamente, pero si se hace esto (yo lo intenté), me cascaban algunas funciones, entre ellas una que estaba en el del carro (y que también está en el de cambio de zona, que es el del carro con el de plataformas).

les paso mi carpeta de chipmunk, tiene los include, los .c y la librería compilada para windows de chipmunk original .a en la carpeta codeblocks/chipmunk

también viene el proyecto de compilación de chipmunk con codeblocks (sólo darle build y ya).

también les paso el proyecto en codeblocks de mi librería por si sirve de algo.



como última pregunta:

les casca al presionar el mouse o al soltarlo?

En el ejemplo de los dominos, está a pantalla completa y a 1280x800 pixeles, no se si sea eso. también puedes comentar la linea 39 y 40 y ver si así funciona.


http://www.mediafire.com/?3hqem4p72bcta10
http://www.mediafire.com/?v64b3w9a487wd93

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

FreeYourMind

Cuales eran los imports para GRAPH y map ??
Me faltan includes, vamos como siempre xDDD

mod_chipmunk.c:3306: error: 'GRAPH' undeclared (first use in this function)
mod_chipmunk.c:3306: error: (Each undeclared identifier is reported only once
mod_chipmunk.c:3306: error: for each function it appears in.)
mod_chipmunk.c:3306: error: 'map' undeclared (first use in this function)

Prg

Quote from: FreeYourMind on January 30, 2011, 06:49:17 PM
Cuales eran los imports para GRAPH y map ??
Me faltan includes, vamos como siempre xDDD

mod_chipmunk.c:3306: error: 'GRAPH' undeclared (first use in this function)
mod_chipmunk.c:3306: error: (Each undeclared identifier is reported only once
mod_chipmunk.c:3306: error: for each function it appears in.)
mod_chipmunk.c:3306: error: 'map' undeclared (first use in this function)

yo tengo las librerías libbgdrtm.dll, mod_map.dll y libgrbase.dll entre los linker settings

y en los includes tengo a la mod_map, libdraw, libgrbase, librender, libvideo, libblit y libfont (a lo mejor algunas no se necesiten XD )
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

josebita

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.

Prg

ok. de todos modos en la semana intentaré probar la librería en mi ubuntu y corregir el problema.

Splinter, me podrías pasar el nombre del módulo donde se usan los callbacks para lo que me comentabas o un  ejemplo?

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

SplinterGU

interpreter.c, fijate al inicio y al final de la funcion se llaman 2 callbacks.

no recuerdo ahora que modulo lo usa, mas que modulo, creo que era una lib.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

hola, llevo como una hora intentado usar la librería de chipmunk (ya la he compilado en ubuntu), pero el bgdc y el bgdi no la encuentran. intenté hacer los enlaces simbólicos como la vez que instalé bennu en fedora y también intenté lo de LD_LIBRARY_PATH pero me dice lo siguiente:

LD_LIBRARY_PATH= .;$LD_LIBRARY_PATH
bash: .: se requiere un argumento de nombre de fichero
.: uso: . filename [arguments]

lo estoy haciendo desde consola, cómo puedo hacer para usar la nueva librería?

el enlace lo hize así:

sudo cp '/home/orlando/Escritorio/chipmunkBennuUbuntu/LibChipmunks/Chipmunk/bin/Debug/libChipmunk.so' .
orlando@nodo1:/usr/lib/bgd/module$ sudo ln -s libChipmunk.so liblibChipmunk.so

y nada.

alguna idea?

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

SplinterGU

tenes que usar : en vez de ;
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

je je

creo que con ubuntu tengo mala suerte...

ya hice todo lo que se y no puedo compilar. Tomo una captura de pantalla con todo lo que tengo. Puedo compilar cosas de bennu sin usar librerías externas, pero quiero usar la mía y nada. me dice que no la encuentra. gracias
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)