Need some good Lua glue

Started by
11 comments, last by nuc 19 years ago
Been struggling with Lua for about a week now, and I've failed miserably trying to convert my simple vector class to Lua glue. I can't make my class any more "cleaner". Tolua chokes on the simplest things. I can't even access a stupid pointer. Well, it's about time to drop it and move on to something else. I don't have the time to write my code twice! Give me some Lua glue that works or bye bye Lua, hello Ruby. Hmmm...do scripting languages really need to be named after ex-girlfriends? What I've seen lacking so far from Lua: - no community, no support, no help, dead forums, must be hidden under a rock - no Usernet groups (not even a alt.lua) - hasn't been updated in over a year [Edited: found a community. No problem.] What I should be looking for is a Tolua community, as there's a lot of details on the Lua C binding side that I would rather keep hidden and concentrate on scripting instead. [Edited by - raydog on March 18, 2005 1:10:06 PM]
Advertisement
Remember Lua is used successfully by many projects, and the last update was less than 2 weeks ago. It also sounds like you've totally missed lua-users.org. I can understand your frustration but Lua is quite simple to bind manually, hence there isn't much need for a forum or anything, and any problems with ToLua are not to do with the Lua language itself.
I'm heavily dependent on Tolua to do the dirty work for me. I'm pretty much set on what I want,
I just need Tolua to do it for me. If it could convert anything I threw at it, then there would
be no problem at all. I've been to lua-users.org, read the tutorials, but most of those tutorials
don't seemed to be aimed at someone who wants to use Lua to do game programming. Even read the
gamedev Lua tutorial, but it didn't answer any of my problems. I need to cover the basics,
a 3D/2D math library for starters. Classes for 2D/3D/4D vectors and matrices. I already have
all of this in C/C++, but I need to convert it to Lua glue so it can be accessible in a Lua script.
Tolua only accepts a handful of operators. It should do them all. And I need access to pointers.
I created a basic vector class using Tolua, but I had to comment out about half of the functionality
just to get it converted. I can't use a half-baked vector class. :)
Quote:Original post by raydog
- no community, no support, no help, dead forums, must be hidden under a rock
- no Usernet groups (not even a alt.lua)

The lua-users mailing list is the highest volume mailing list I'm subscribed to.

Quote:- hasn't been updated in over a year

Are you sure you're talking about Lua?

In any case: Many people use ToLua++ and enjoy it; I prefer to make my own binding code; there's also LuaPlus, SWIG, and others. And it's a poor workman who blames his tools.
Well, I would rather read the posts online than subscribe to a mailing list if that's possible.
And I would need the ability to do a full text search online too.

Yep, Looks like I found both:
http://lua-users.org/lists/lua-l/

Search for LuaSWIG at http://luagnome.free.fr/pub/ says the project is dead.

[Edited by - raydog on March 16, 2005 5:13:23 PM]
The Lua website has links to online archives of the mailing lists, fully searchable. It should only take about 60 seconds to find from the front page.
I just released a new version of version of CPB [0.05] which should do what you're looking to do.
Quote:CPB bridges C++ and LUA, allowing the two languages to seamlessly communicate with each other.

http://www.thomasandamy.com/projects/CPB/

Thomas
Quote:
CPB is currently only available for the Windows X86 platform and Microsoft MSVC7.0


I have MSVC++ 6.0, so I guess that excludes me. Wow, msdia71.dll is 576KB, test executable
is 312kb. .NET DLLs are huge. Tolua is much more smaller, no required DLLs, and it works
with MSVC++ 6.0.
Don't forget LuaBind! It's a different approach than ToLua and such, because it does not rely on any external tools or preprocessors, it is pure C++. Language bindings are generated using template tricks, so there's no description language or anything standing in your way whatever your objects look like.

If you want to see how it works, there's a compact introduction on my homepage here: Quick Introduction to LuaBind

LuaBind can even be used on templates:
  // Export our classes with LuaBind  luabind::module(pMyLuaState) [    luabind::class_<Point<float> >("Point")      .def(luabind::constructor<float, float>())      .def_readwrite("X", &Point<float>::X)      .def_readwrite("Y", &Point<float>::Y),    luabind::class_<Box<float> >("Box")      .def(luabind::constructor<Point<float>, Point<float> >())      .def_readwrite("UpperLeft", &Box<float>::UpperLeft)      .def_readwrite("LowerRight", &Box<float>::LowerRight)  ];


-Markus-
Professional C++ and .NET developer trying to break into indie game development.
Follow my progress: http://blog.nuclex-games.com/ or Twitter - Topics: Ogre3D, Blender, game architecture tips & code snippets.
LuaPlus is pretty cool too.

This topic is closed to new replies.

Advertisement