Lua:Environments: Difference between revisions
Move lua interfaces table and give further details on the purpose of each environment |
→Interfaces: add LuaIntro, LuaParser |
||
| Line 22: | Line 22: | ||
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em; border: 1px #aaa solid; border-collapse: collapse;" | {| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em; border: 1px #aaa solid; border-collapse: collapse;" | ||
| | | | ||
! align="center" | LuaMenu | |||
! align="center" | LuaIntro | |||
! align="center" | LuaParser | |||
! align="center" | LuaRules/Gaia<br><font style="font-size:80%">(synced)</font> | |||
! align="center" | LuaRules/Gaia<br><font style="font-size:80%">(unsynced)</font> | |||
! align="center" | LuaUI | ! align="center" | LuaUI | ||
|- | |- | ||
| align="left" | [[Lua_ConstGame]] | | align="left" | [[Lua_ConstGame]] | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| align="left" | [[Lua_ConstEngine]] | | align="left" | [[Lua_ConstEngine]] | ||
| align="center" bgcolor="#227722" | + | |||
| align="center" bgcolor="#227722" | + | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| Line 41: | Line 47: | ||
| align="left" | [[Lua_ConstPlatform]] | | align="left" | [[Lua_ConstPlatform]] | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| Line 46: | Line 54: | ||
|- | |- | ||
| align="left" | [[Lua_UnitDefs]] | | align="left" | [[Lua_UnitDefs]] | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| align="left" | [[Lua_WeaponDefs]] | | align="left" | [[Lua_WeaponDefs]] | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| align="left" | [[Lua_FeatureDefs]] | | align="left" | [[Lua_FeatureDefs]] | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| align="left" | [[Lua_ConstCOB]] | | align="left" | [[Lua_ConstCOB]] | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
|- | |- | ||
| align="left" | [[Lua_CMDs]] | | align="left" | [[Lua_CMDs]] | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| align="left" | [[Lua_UnsyncedRead]] | | align="left" | [[Lua_UnsyncedRead]] | ||
| align="center" bgcolor="#888800" | +*** | |||
| align="center" bgcolor="#888800" | +*** | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| align="left" | [[Lua_UnsyncedCtrl]] | | align="left" | [[Lua_UnsyncedCtrl]] | ||
| align="center" bgcolor="#888800" | +*** | |||
| align="center" bgcolor="#888800" | +*** | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| align="left" | [[Lua_SyncedRead]] | | align="left" | [[Lua_SyncedRead]] | ||
| align="center" bgcolor="#888800" | +** | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="#888800" | +*** | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="# | | align="center" bgcolor="#888800" | +** | ||
|- | |- | ||
| align="left" | [[Lua_SyncedCtrl]] | | align="left" | [[Lua_SyncedCtrl]] | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
|- | |- | ||
| align="left" | [[Lua_MoveCtrl]] | | align="left" | [[Lua_MoveCtrl]] | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
|- | |- | ||
| align="left" | [[Lua_PathFinder]] | | align="left" | [[Lua_PathFinder]] | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| align="left" | [[Lua_OpenGL_Api]] | | align="left" | [[Lua_OpenGL_Api]] | ||
| align="center" bgcolor="#888800" | +*** | |||
| align="center" bgcolor="#888800" | +*** | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| align="left" | [[Lua_GLSL_Api]] | | align="left" | [[Lua_GLSL_Api]] | ||
| align="center" bgcolor="#888800" | +*** | |||
| align="center" bgcolor="#888800" | +*** | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| align="left" | [[Lua_FBO_and_RBO]] | | align="left" | [[Lua_FBO_and_RBO]] | ||
| Line 130: | Line 166: | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="# | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="#227722" | + | |||
| align="center" bgcolor="#227722" | + | |||
|- | |- | ||
| align="left" | [[Lua_UnitRendering ]] | | align="left" | [[Lua_UnitRendering ]] | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
|- | |- | ||
| Line 141: | Line 181: | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="#227722" | + | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| Line 148: | Line 190: | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| align="left" | [[Lua_VFS]] | | align="left" | [[Lua_VFS]] | ||
| align="center" bgcolor="#227722" | + | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#888800" | +* | | align="center" bgcolor="#888800" | +* | ||
| align="center" bgcolor="#227722" | + | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| Line 159: | Line 205: | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="#227722" | + | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| align="left" | [[Lua_BitOps]] | | align="left" | [[Lua_BitOps]] | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| align="left" | [[Lua_MathExtra]] | | align="left" | [[Lua_MathExtra]] | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|- | |- | ||
| align="left" | [[Lua_Socket]] | | align="left" | [[Lua_Socket]] | ||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
| align="center" bgcolor="#772222" | | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="#772222" | | | align="center" bgcolor="#772222" | - | ||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#772222" | - | |||
| align="center" bgcolor="#227722" | + | | align="center" bgcolor="#227722" | + | ||
|} | |} | ||
Revision as of 17:33, 22 December 2017
Environments
Here is an exhaustive list of the different lua environments within Spring, roughly in execution order as a game is loaded.
LuaMenu
Introduced in 104.0, a stripped down environment that starts before the game is loaded and persists through reload.
LuaParser
Minimal environment used to parse and load definition files.
LuaIntro
Introduced in 95.0, to allow visual customisation of the loading process.
LuaRules (synced)
The main environment for synced game-controlling mechanics ("gadgets").
LuaRules (unsynced)
The main environment for unsynced game effects, rendering, UI etc. ("gadgets")
LuaGaia (synced)
As LuaRules (synced) but for maps.
LuaGaia (unsynced)
As LuaRules (unsynced) but for maps.
LuaUI
The main environment for toggleable UI elements and controls ("widgets").
Interfaces
The following table demonstrates which interfaces are available to each environment.
| LuaMenu | LuaIntro | LuaParser | LuaRules/Gaia (synced) |
LuaRules/Gaia (unsynced) |
LuaUI | |
|---|---|---|---|---|---|---|
| Lua_ConstGame | - | + | - | + | + | + |
| Lua_ConstEngine | + | + | + | + | + | + |
| Lua_ConstPlatform | + | + | - | + | + | + |
| Lua_UnitDefs | - | - | - | + | + | + |
| Lua_WeaponDefs | - | - | - | + | + | + |
| Lua_FeatureDefs | - | - | - | + | + | + |
| Lua_ConstCOB | - | - | - | + | - | - |
| Lua_CMDs | - | + | - | + | + | + |
| Lua_UnsyncedRead | +*** | +*** | - | - | + | + |
| Lua_UnsyncedCtrl | +*** | +*** | - | + | + | + |
| Lua_SyncedRead | - | +*** | - | + | + | +** |
| Lua_SyncedCtrl | - | - | - | + | - | - |
| Lua_MoveCtrl | - | - | - | + | - | - |
| Lua_PathFinder | - | - | - | + | + | + |
| Lua_OpenGL_Api | +*** | +*** | - | - | + | + |
| Lua_GLSL_Api | +*** | +*** | - | - | + | + |
| Lua_FBO_and_RBO | + | + | - | - | + | + |
| Lua_UnitRendering | - | - | - | - | + | - |
| Lua_Fonts | + | + | - | - | + | + |
| Lua_ConstGL | + | + | - | - | + | + |
| Lua_VFS | + | + | + | +* | + | + |
| Lua_Scream | + | + | - | - | + | + |
| Lua_BitOps | - | - | - | + | + | + |
| Lua_MathExtra | - | - | - | + | + | + |
| Lua_Socket | + | - | - | - | - | + |
| * | only VFS.ZIP_ONLY |
| ** | with special LOS handling and decoy unit handling |
| *** | stripped down environment with certain functions removed |