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.

Prg

#30
no te entendí muy bien, pero mejor te paso todo el proyecto.

En el .h está mi código bennu para facilitar el uso. ahora sólo hay que llamar desde el proceso que se quiere tener física el proceso Ch_initProcess y luego crear el shape (o los shapes) del proceso. Te paso la carpeta con todo, en la dirección LibChipmunks\Chipmunk\bin\Debug se encuentran algunos ejemplos que he pasado de los oficiales. Entre ellos está uno con todos los constraints y un carro (física de carro), una torre que se desmorona (no debería, pero la desacomodé un poco y ... bum!) además está el ejemplo de siempre, pero corregido.

saludos

pd: agregué y corregí algunas cosas con respecto a la versión anterior.

pd2: En el ejemplo de los constraints y el carro se incluye código para mover objetos con el ratón... se ve genial.
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

SplinterGU

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

Prg

#32
Ejemplo de física de un juego visto desde arriba.
Bómberman.

Splinter, seguro se te ocurrirán muchas mejoras para la forma en que se usan las funciones de las librerías, como hacer que los constraints funcionen con el id en lugar de que funcionen con el body del proceso o hacer que las funciones de impulsos y de obtener datos del body funcionen de ésa forma.

Los ejemplos los hago para revisar que estoy recibiendo los datos correctamente en las funciones de bennu y las envio correctamente a las respectivas de chipmunk. Todo parece bien, sólo faltaría ver las funciones que aceptan infinity que como es double hay que hacer la traducción (es un valor overflow, para el float y quizá para el double).

saludos

pd: ya quiero ver cómo queda la librería en bennu.

pd2: quedo a tus órdenes para cualquier cosa o corrección (durante los próximos 15 días porque ya se me estan acabando las vacaciones  :'( ).
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

SplinterGU

decime exactamente que querias hacer con la variable global... y yo lo hago en el codigo y luego vos ves como es y lo seguis.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

ok, lo que quiero con la variable es hacer que se pueda modificar desde código bennu y desde la librería (sin meterla en funciones).

Todo lo que he hecho para acercar la librería más a la sintaxis bennu está en bennu, y debido a que no se cómo acceder y modificar locales desde la librería, lo seguieré haciendo desde bennu, ¿no hay problema, vd?

¿Te gusta la actual forma de agregar los shapes? ¿alguna idea para mejorarla?
Si se hace con variables, siento que se reduce a tener un sólo shape por proceso.

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

SplinterGU

no mire el API, no estoy con tiempo...

pon las variables que quieras publicas a nivel C, y yo te las hago a nivel BennuGD/C.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

Quote from: SplinterGU on January 19, 2011, 07:18:28 PM
no mire el API, no estoy con tiempo...

pon las variables que quieras publicas a nivel C, y yo te las hago a nivel BennuGD/C.

no te apures, entonces luego lo haces.

seguiré programando todo en bennu, y algún día, cuando tengas tiempo, vemos el tema.

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

SplinterGU

no, no, pon las variables a nivel C con un texto que diga que son esas las variables que quieres que se compartan entre C/BennuGD, me pasas el fuente y yo te lo dejo preparado.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

Quote from: SplinterGU on January 20, 2011, 11:26:42 AM
no, no, pon las variables a nivel C con un texto que diga que son esas las variables que quieres que se compartan entre C/BennuGD, me pasas el fuente y yo te lo dejo preparado.

ok, están en el .c de abajo. en las líneas 2578 a 2583, al final del .c
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Prg

El día de hoy al fin encontré qué era lo que daba algunos errores en la librería al cerrar los programas. Ya lo he solucionado y he convertido los constraints para que funcionen con la id del proceso. Eh modificado también el sistema de shapes para que cada proceso sólo tenga una y poder manejar sus propiedades con variables como se había comentado originalmente. He termindo de dar soporte a infinity a las funciones que sé que lo requieren. Sólo falta revisar el api para ver qué funciones faltan para corregir su uso de shapes y bodies a ids. También falta hacer que al eliminar un body se eliminen sus constraints para prevenir errores de memoria.

sólo me reportaba, cuando termine esto subo versión.

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

SplinterGU

ya no necesitas entonces que te pase las variables? justo me iba a poner con eso.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

Sí necesito. Ahorita estoy haciendo uso de funciones para acceder a ellas.
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

josebita

Ánimo con el trabajo, Prg. De verdad que estás haciendo algo muy útil y necesario ;)

SplinterGU

bien, te modifico el ultimo codigo que subiste o tenes uno nuevo?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

Quote from: SplinterGU on January 23, 2011, 02:15:17 AM
bien, te modifico el ultimo codigo que subiste o tenes uno nuevo?

usa el que ya subí. El nuevo tiene muy pocos cambios, me estoy centrando a modificar el .h.
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)