MistaED wrote:
What are the C-bindings to bullet like? You might be able to make your own bindings the same way horde makes its bindings, by ctypes. I guess take a look at the ctypes documentation to see how it is used and dissect the python bindings horde uses to see how functions and data types cross over to python-land and then apply the same principles by studying the C bindings of bullet.
Yeah, I might be able to do that. The one weird thing the Bullet C-API does is that it uses empty structs as handles. I don't know if that's a problem; it just seems strange. Also the C-API doesn't have a lot of documentation. Just some very basic Doxygen docs and a couple of simple example applications.
MistaED wrote:
Making a thin layer over your stuff and then making bindings to that might be a better solution if you'd like your python code to talk to something a little higher level like game objects and components instead.
Yeah, I am indeed trying to do something like that.
MistaED wrote:
There's a bullet physics extension for horde itself floating about which Volker wrote and I think it was Irdis who updated it to work with the latest horde. I guess just take it and extend it to how you want and then make ctypes bindings to this, or just use it to study how combining to two could be realised.
Yeah, there is an extension, but it seems to have a more object-oriented design, which is harder to make bindings for as far as I know?
MistaED wrote:
Good luck, I'll be doing a similar thing as well except with lua (unless I can get horde's game-engine to compile for linux).
Let us know how that goes.
I think what I'm going to do is I'll look into improving the Python bindings for Bullet. There are some bindings already out there; they're just not complete yet. Probably easier to keep the layer between the libraries and my Python code relatively thin instead of writing big parts of my engine/framework in C++ and add Python scripting, which is another option I was considering.