Page 1 of 7

IrrLua

Posted: Wed Apr 06, 2005 9:26 pm
by zenakuten
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.

Posted: Fri Apr 08, 2005 7:41 pm
by katoun
Nice!
Very, very usefull.

Posted: Sat Apr 09, 2005 6:43 pm
by niko
Very cool, looking forward to it!

Sorry for the delay

Posted: Wed Apr 27, 2005 11:55 pm
by zenakuten
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

Posted: Thu Apr 28, 2005 12:29 am
by keless
good, but hopefully it'll be IrrLua instead of IrrrLua!

Posted: Thu Apr 28, 2005 7:28 pm
by Electron
looks cool :)

IrrLua 0.1 released

Posted: Tue May 10, 2005 4:00 pm
by zenakuten
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.

Posted: Fri May 13, 2005 2:51 am
by cassini
Will it be a visual studio 6 project file?

Posted: Fri May 13, 2005 11:07 pm
by zenakuten
cassini wrote:Will it be a visual studio 6 project file?
Yes. DevStudio 6.0 is the only Microsoft compiler I own. I also want to provide a Dev-C++ project, but I'm unfamiliar with setting up Dev-C++ projects, so that will have to come later, as will DevStudio.NET (which I don't own).

Posted: Sat May 14, 2005 12:44 pm
by niko
Nice, I'm going to link this from irrlicht.sf.net

IrrLua-0.2 released

Posted: Tue Jun 07, 2005 11:37 pm
by zenaku
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

IrrLua 0.3 released

Posted: Mon Jun 27, 2005 3:48 am
by zenaku
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

Posted: Wed Aug 10, 2005 11:01 am
by Sindwiller(forget to log)
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

Posted: Wed Aug 10, 2005 3:18 pm
by Sindwiller
Do someone works on Irrlua anyway?

mfg, Sindwiller

Posted: Wed Aug 10, 2005 11:52 pm
by zenaku
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! :)