Post

 Resources 

Console

Home | Profile | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 VBGamer
 VBGamer
 Lua revisited

Note: You must be registered in order to post a reply.

Screensize:
UserName:
Password:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkInsert EmailInsert Image Insert CodeInsert QuoteInsert List Spell Checker
   
Message:

* HTML is OFF
* Forum Code is ON
Smilies
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

   Insert an File
Check here to include your profile signature.
Check here to subscribe to this topic.
    

T O P I C    R E V I E W
Eric Coleman Posted - Nov 03 2004 : 11:42:33 AM
I've been learning LUA http://www.lua.org/ and it's not designed to be a standalone scripting engine but to be something that's embedded in the game or application that uses it. I've been working on some "stuff" and I decided to use LUA as the scripting engine, so I've been learning a lot about it, mostly on my own since it's very difficult to find updated information.

The only way to use LUA in a VB program is to write a C or C++ wrapper. Is anyone interested in learning how to do this?

I should point out that there is no way to create a LUA dll for everyone to use. The scripting engine is EXTREMLY small and bare, so you have to write application specific code if you want to use it in your games. However, the embedding of any scripting language requires some sort of special interface for the scripts. Even the MS script control object is pretty useless unless you expose internal objects to the script control that allow the scripts to manipulate your program. There really is no way around having to write a scripting interface between the scripting engine and the program.
12   L A T E S T    R E P L I E S    (Newest First)
Eric Coleman Posted - Nov 05 2004 : 12:49:21 PM
I hope you're keeping Austin wierd for me!
maxhamner Posted - Nov 05 2004 : 07:18:28 AM
There's just too much to love about Austin, Chuy's, Jovita's, Antones, Steamboat, the view at the Oasis (and avoiding their food), all the live music, Kerby Lane, Magnolia Cafe, the really wierd late night crowd at Star Seeds Cafe, and of course amys... Whew... think I need to get out more? LOL...

I'll drop an Amy's cone in the mail to you... look for a soggy package in a week or so! LOL
Eric Coleman Posted - Nov 04 2004 : 9:48:14 PM
I noticed you live in Austin. I lived there for 3 years. I sure do miss having a Mexican Martini. Oh, and Amy's. That stuff is so damn good. I'm getting all nostalgic now, lol.
Eric Coleman Posted - Nov 04 2004 : 9:42:22 PM
I've read that, but it does lack a lot of information. It describes the LUA language more than it describes how to hack the source code to embed it in an application. In my opinion, I don't think it adequately expresses how make the transition from tags to meta tables. Tags in LUA 4 were really nice and easy to understand. It took me a really long time to get a program working that used meta tables for my data structures. That book you mention uses tables instead of extending the program with meta tables, and the syntax you get from using tables for structures is just ugly IMHO. Using meta tables kind of allows you to overload the operaters, and that's quite handy, especially for math. Right now I'm working on some image processing stuff, and being able to define a color like C = RGBA(1,0.5,.3,0) is nice, but what's even nicer is to use syntax like C.R to get the red value or C.H to get the HUE. Meta tables are sweet :-)
maxhamner Posted - Nov 04 2004 : 9:11:03 PM
the definitive online book (also available in paper form) PIL (programming in Lua), available here

http://www.lua.org/pil/
VBBR Posted - Nov 03 2004 : 2:04:52 PM
From a VB programmer's point of view, even for C/C++, that would be fantastic.

I could learn from your tutorial then do all the dirty work of porting the functions so they work in VB.
Eric Coleman Posted - Nov 03 2004 : 1:48:11 PM
I guess I'll get started on a LUA tutorial
VBBR Posted - Nov 03 2004 : 1:45:02 PM
Hm, that's what I thought.

I have both LUA 4 and 5 here, and have been trying to get this to work in 5 (since it should be better as it's a newer version... altough I think 4 is easier... whatever)

Also tutorials on LUA v5 seem to be a lot harder to find.
Eric Coleman Posted - Nov 03 2004 : 1:07:02 PM
I've never used Dev-C++, so I can't answer any of those questions.

What version of LUA are you using? 4 or 5?

The lua state is LONG in VB (32bit integer). Actually, it's a pointer to a struct and pointers on a 32 bit system are 32bit numbers which are LONG data types in VB.
VBBR Posted - Nov 03 2004 : 12:56:35 PM
Looks like I lost the original C++ source files (altough I still have some notes and the VB declarations). I was looking trough lua.h and here is a question...

typedef struct lua_State lua_State;

if lua_State is defined like this, would it work if I put (in VB) all the lua_State variables declared as Any? (it seems I had declared them as Long but I'm not sure if it's right)
VBBR Posted - Nov 03 2004 : 12:36:57 PM
On another topic, but linked to this, how am I supposed to create a DLL in Dev-C++ that can be used in VB? I tried creating the DEF file and everything but it doesn't work. The exact same procedure works fine is VC++ (.NET). (but I'd like to use Dev-C++ because my HD is so full I can't even install VC++ now )
VBBR Posted - Nov 03 2004 : 12:15:54 PM
Actually I started writing a wrapper sometime ago, and managed to get some things working. I managed to run a LUA line like MyFunc() so it calls MyFunc in a module showing an MsgBox succesfully. Unfortunately when it came to parameters and return values (which work with the LUA stack) everything started crashing and I gave up. I've learned a lot of C++ from there though, so maybe now I'm able to get this working (it would be something for a 0.1 alpha version ). At the time I looked at it I found the LUA header file too confusing, also because I didn't know things like pointers should be passed as ByRef, so I just shot for ByRef and ByVal for every parameter until it worked =p. (actualy I still don't know if VB strings should be passed ByRef, ByVal, VarPtr or whatever)

I'm really interested in making this thing work. I'll see if I find these files and take a look at them.

VBGamer © Go To Top Of Page
This page was generated in 0.11 seconds. Snitz Forums 2000

Copyright © 2002 - 2004 Eric Coleman, Peter Kuchnio , et. al.