(08-08-2013, 05:56 AM)bearbin Wrote: Also - is there any way to get a full list of all the api functions with parameters and return values, and hopefully a description?
Unfortunately, no, Lua only knows the function names. It would be even impossible, because Lua doesn't really care about the number or types of parameters to functions, whatever you throw at the function, Lua just happily calls that function and it's the function's responsibility to check its parameters' types and count.
There's a non-automatic (human-only) way, though. Have a look at Bindings.cpp and ManualBindings.cpp, each has a function at their bottom registering the Lua API functions; find whatever function you want to know about and see how it's implemented. All our functions have the type and count checks in place, so it should be pretty obvious to know the parameter types and count. Heck, perhaps there's even a way to automate this (on Bindings.cpp only, since that is machine-generated) and produce some kind of minidocumentation.
As for the description, you need to see the appropriate .h file. Let's say, for example, that you want to know what cWorld:TryGetHeight() does. So you open up World.h and search for TryGetHeight, you will find line 131 - 132:
/// Retrieves the world height at the specified coords; returns false if chunk not loaded / generated bool TryGetHeight(int a_BlockX, int a_BlockZ, int & a_Height); // Exported in ManualBindings.cppI'd say that's pretty explanatory as for the purpose, but "Exported in ManualBindings" tells you that the Lua parameters are probably a bit different, so you still need to look at ManualBindings for implementation for details on the params / return values.