Lua Development
Contents
Lua FAQ
Lua scripting is the primary way for developers to customize their games and add new features. Most aspects of the Spring engine can be controlled and extensively modified through the Lua API.
Interfaces (last update: 104)
Environments (Details the available environments and shows which interfaces are loaded by each)
Callins (Entry points to lua addons)
System
Lua_System
Const
Lua_ConstGame (holds game relevant constants)
Lua_ConstEngine (version & buildflags)
Lua_ConstPlatform (Current OS, video driver etc)
Lua_ConstCOB (COB, Explode, EmitSfx)
Lua_CMDs (documents all CMDs and CMDTYPEs)
Defs
Lua_UnitDefs
Lua_WeaponDefs
Lua_FeatureDefs
GameState
Lua_SyncedCtrl
Lua_SyncedRead
Lua_SaveLoad (engine-assisted Lua save/load)
Client
Lua_UnsyncedCtrl
Lua_UnsyncedRead
Lua_Lobby
OpenGL
Lua_OpenGL_Api
Lua_GLSL_Api (OpenGL Shading Language)
Lua_FBO_and_RBO (Framebuffer and Renderbuffer Objects)
Lua_UnitRendering (manage unit LODs and materials)
Lua_ConstGL (some OpenGL constants)
Lua_Fonts
Unit Physics
Lua_MoveCtrl (changes the physics of single units)
Lua_PathFinder
Engine
Lua_VFS (used to access files in the virtual filesystem, e.g. modfiles)
Lua_Scream
Lua_BitOps
Lua_MathExtra
Lua_Socket
Tutorials
- Easy widget examples
- InterCommunications (i.e. synced <-> unsynced communications)
Other useful information
- Lua libraries
- Lua performance tips
- UI_commands
- Unit animation scripting with Lua
- Source code for Lua API
Official Lua documentation
'Programming in Lua' book online
Lua 5.1 Reference manual
Lua tutorials