I was thinking of forking irrlicht and patching it to the point to where the Lua binding could be automated and would no longer need to be maintained, or at least reduce the maintenance greatly. It could also be tweaked for a SWiG binding, and that would give even more language options.
There are a number of other projects that I also wanted to include in the fork, mostly patches that have been submitted to irrlicht but never accepted. There are some really good patches that simply have not been accepted that I would put into the fork. I'm thinking of the name irrpache in honor of irrlicht and apache. I would try, in the spirit of apache, to create a game engine out of irrlicht + all the great patches, code snippets, shaders, etc people have sent in. I plan on gratuitously stealing code from other projects that allow it (bsd license, zlib license, etc). The fork should be released under the LGPL as it is the least common denominator of the various licenses. LGPL can steal from BSD, but BSD can't from LGPL, so ultimately LGPL will always end up with a larger code base to pool from (and I want to use OpenAL which is LGPL
![Wink ;)](./images/smilies/icon_wink.gif)
To the 5 irrlicht namespaces, a few more will be added:
irr.audio -- rebranding / irrlichtifying of OpenAL.
irr.physics -- rebranding / irrlichtifying of either ODE or Bullet (haven't decided)
irr.interop -- scripting stuff goes here (irrlua/jirr stuff)
The purpose of rebranding the APIs is to provide a consistent engine across the board. I had initially created bindings for Irrlicht and ODE, and you could use them together in Lua, but a type translation layer needed to be created in order to do it because as an example ODE vector != Irrlicht vector. Not the most efficient solution. A consistent engine would solve that problem.
Finally the source itself would have a consistent build system across platforms. The target is Eclipse with the CDT using gcc as the compiler. Eclipse + CDT runs everywhere, so does gcc, so it's a natural cross platform/no issues setup, and it's completely free. I looked at Code::Blocks and it works really great but is just not as well supported as Eclipse/CDT is.
I've split up irrlicht source into modules and made Eclipse/CDT projects for each module. I have irr.core.so, irr.io.so, irr.gui.so, and irr.video.so already working. All the source has been split into different directories instead of one huge folder of source like it is now. Someone please let me know if this is a good idea and if I should continue with it. Also I'm completely open to suggestions for anything and everything about the project.