Lua for Wii
Lua is a small and powerful scripting language that is perfect for use in projects that require changes in logic without the hassle of recompiling the program's source code. Lua can be told to load a file and execute functions from that file to create a dynamic program flow. Being extensible, Lua allows the programmer to define new functions for use in the script files they create.
Extract release download archive to your $DEVKITPRO/libogc folder.
Include lua headers in your source files, eg:
#include "lua.h" #include "lauxlib.h" #include "lualib.h"
Add -llua to your LIBS in Makefile before -lm
If you need file system access, use an external library (for example libfat) and initalize it before trying to access any files.
Be sure DevkitPPC and libogc is installed and $DEVKITPRO is an exported variable.
Then the usual
cd /to/lua51-wii/dir make -j <number of processor cores/threads> (eg. -j2)
will build the library and
will install library and header files in your DevkitPro installation folder.
Reasons To Use Lua
To poke at a few popular uses of Lua; Lua was used in World of Warcraft for the GUI, in Farcry for the console system and all of the programmed user materials in Gmod(the famous retail HL2 sandbox mod) are made with it. It's been used in a bunch of open source game engines because it is simple to use and pretty versatile.
TODO / BUGS / Limitations
- Add proper Wii thread support
- Add proper time support (in testing)
- The stand-alone-interpreter and bytecode-compiler are not build.
- Launching external programs (system()) will likely never work
- FAT system needs to be initialized by the user before calling any file loading functions (such as luaL_dofile(...)).
The only major changes to the source code were removing functions related to launching system executables.