IrrLua
IrrLua
I've been working on a Lua front-end to IrrLicht-0.9, and have gotten most of it working last night. I now have an IrrLua interpreter that understands most of Irrlicht's types and objects. Right now I'm converting the example c++ apps to lua to make sure everything works.
There is still a lot of work to be done (such as making IEventReceiver work), but I've done most of the tedious work dealing with the header files and templates already. tolua++ helps a lot
When I get everything cleaned up and working I'll put a sourceforge page up.
There is still a lot of work to be done (such as making IEventReceiver work), but I've done most of the tedious work dealing with the header files and templates already. tolua++ helps a lot
When I get everything cleaned up and working I'll put a sourceforge page up.
zen
Sorry for the delay
IrrLua is currently delayed. I updated my computer and now I've been stuck in SLI hell. (http://www.hardwareanalysis.com/content/topic/38623/ )
In any event, I'll put what I do have working up on irrlua.sourceforge.net this weekend as a version 0.1
In this version all of Irrlichts header files have cleaned up .pkg files to go with them. This exposes the raw Irrlicht engine to Lua.
There is also a simple casting class so that you can cast between Irrlicht types and Lua types. Lua does not understand irrlichts types, so to use irrlicht with lua, you have to cast your lua types to irrlicht types before calling the functions, i.e. scm:GetMesh("meshfile") will fail under IrrLua saying "type const c8* expected". So to get around it, initially in this first version you can do scm:GetMesh(cast::to_const_char_ptr("meshfile"))
It's ugly, but it works.
Ultimately, once the wrappers are finished, none of that will be necesary and you will be able to do something like this:
local Device = IrrrLua.CreateIrrrlichtDevice(video::EDT_SOFTWARE, { 640, 480 }, 16)
This way, you don't need to cast, and some types like vector3d can just be passed in as a lua table.
---
zen
In any event, I'll put what I do have working up on irrlua.sourceforge.net this weekend as a version 0.1
In this version all of Irrlichts header files have cleaned up .pkg files to go with them. This exposes the raw Irrlicht engine to Lua.
There is also a simple casting class so that you can cast between Irrlicht types and Lua types. Lua does not understand irrlichts types, so to use irrlicht with lua, you have to cast your lua types to irrlicht types before calling the functions, i.e. scm:GetMesh("meshfile") will fail under IrrLua saying "type const c8* expected". So to get around it, initially in this first version you can do scm:GetMesh(cast::to_const_char_ptr("meshfile"))
It's ugly, but it works.
Ultimately, once the wrappers are finished, none of that will be necesary and you will be able to do something like this:
local Device = IrrrLua.CreateIrrrlichtDevice(video::EDT_SOFTWARE, { 640, 480 }, 16)
This way, you don't need to cast, and some types like vector3d can just be passed in as a lua table.
---
zen
zen
looks cool
You do a lot of programming? Really? I try to get some in, but the debugging keeps me pretty busy.
Crucible of Stars
Crucible of Stars
IrrLua 0.1 released
http://irrlua.sourceforge.net
This 0.1 version is only set up to build under linux, at the moment.
Next up will be DevStudio project files and finishing the rest of the examples.
This 0.1 version is only set up to build under linux, at the moment.
Next up will be DevStudio project files and finishing the rest of the examples.
zen
IrrLua-0.2 released
IrrLua 0.2 has been released (couple weeks ago)
This is very much a developers only release.
Changes include:
irrlicht-0.10.0 support (0.10.0 is now required)
VisualStudio 6.0 support
VisualStudio 2003 .NET support
The 01.HelloWorld.lua app is still the only app ported so far.
I should have another release ready in a couple weeks. I've been working on dynamic module support so that IrrLua can be extended at runtime.
---
zen
This is very much a developers only release.
Changes include:
irrlicht-0.10.0 support (0.10.0 is now required)
VisualStudio 6.0 support
VisualStudio 2003 .NET support
The 01.HelloWorld.lua app is still the only app ported so far.
I should have another release ready in a couple weeks. I've been working on dynamic module support so that IrrLua can be extended at runtime.
---
zen
IrrLua 0.3 released
IrrLua 0.3 has been released.
This release has binaries provided for both windows and linux. See http://irrlua.sourceforge.net for info on building and using.
New features:
dynamic module loading support
Event receiver support
proper handing of vector3d, rect, dimension2d, etc
First five examples now work correctly.
irrlicht shared library support under linux
--
zen
This release has binaries provided for both windows and linux. See http://irrlua.sourceforge.net for info on building and using.
New features:
dynamic module loading support
Event receiver support
proper handing of vector3d, rect, dimension2d, etc
First five examples now work correctly.
irrlicht shared library support under linux
--
zen
-
- Posts: 4
- Joined: Sun Aug 07, 2005 7:16 pm
Sindwiller(forget to log) wrote:Ok...
Ive tried everything, now i can post it.
All LUA Examples dont work, when i choose a Driver the Window comes up for an second and then closes. Only the UI Example works fine.
I have tried to update my GFX Drivers, my PC is up-to-date.
mfg, Sindwiller
Hmm. I've run the pre-built IrrLua.exe on a few machines without problems.
You may have IrrLua installed in the wrong location? The IrrLua directory needs to go in the Irrlicht-0.10/source/Irrlicht directory, otherwise the examples won't find all of the data files. The UI example (05.UserInterface.lua) works even if it can't find the media files. The other examples do not. The interpreter will give an error and you'll most likely see an un-rendered irrlicht window on top of the interpreter running behind it. This sounds like what you're seeing. If you move the directory to where it's supposed to go, everything should work. You may need to copy Irrlicht.DLL into the IrrLua\Bin directory as well. Sorry. Where to put the files is not documented other than here.
The Irrlicht engine is large so in order to make sure the lua language binding is bug free I've been porting each example one at a time to make sure every ported function works. Because of this, the current language binding has just enough functionality to make the examples work, but not more. IrrLua is alpha software and is not ready for developing applications with. The goal is that at version 1.0, 100% of Irrlicht's API will be available from Lua.
IrrLua 0.4 is on the way. I have the first 9 examples now working and fixed some dumb bugs in the other examples. I still need to update irrlua-0.4 to use Irrlicht-0.11 and then I'll most likely release it this weekend. After that I really need to update the web page with some docs!