1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
Class Tree
----------
LuaHandle
|
|- LuaHandleSynced
| |
| |- LuaGaia
| '- LuaRules
|
`- LuaUI
Synced / Unsynced Protection
----------------------------
The LuaHandleSynced derivatives all use the same mechanism for sync protection.
1. The global namespace is synced
2. The synced code can not read from the unsynced code, but may send
messages to it.
3. The unsynced code can read from the synced code using the SYNCED proxy table.
That table does not allow access to functions. There snext(), spairs(),
and sipairs() functions can be used on the SYNCED tables and its sub-tables.
Access Modes
------------
userMode readFull readAllyTeam ctrlFull ctrlTeam selectTeam
-------- -------- ------------ -------- -------- ----------
LuaRules false true ALL true ALL ALL
LuaGaia false true ALL true ALL Gaia
LuaUI true false PlayerTeam false PlayerTeam PlayerTeam
LuaUI(spec) true true ALL false NONE *depends*
The files
---------
Lua Handles
LuaCallInHandler.cpp -- manages most call-ins for LuaHandles
LuaHandle.cpp -- Base for LuaHandleSynced's and LuaUI
LuaHandleSynced.cpp -- Base for LuaGaia and LuaRules
LuaGaia.cpp -- Gaia controller
LuaRules.cpp -- Mod game rules controller
Constants
LuaConstGL.cpp -- constants for OpenGL
LuaConstCMD.cpp -- constants for Commands
LuaConstCMDTYPE.cpp -- constants for CommandDescriptions
Call-out libraries
LuaOpenGL.cpp -- OpenGL interface
LuaSyncedCtrl.cpp -- Synchronized control
LuaSyncedRead.cpp -- Synchronized information
LuaUnsyncedCall.cpp -- Unsynchronized inter-script calls
LuaUnsyncedCtrl.cpp -- Unsynchronized control
LuaUnsyncedRead.cpp -- Unsynchronized information
LuaUnitDefs.cpp -- UnitDefs table
LuaFeatureDefs.cpp -- FeatureDefs table
LuaWeaponDefs.cpp -- WeaponDefs table
... ;-)
Utilities
LuaUtils.h -- misc crap
LuaDefs.h -- utilities for LuaUnitdefs and LuaWeaponDefs
LuaHashString.h -- wrapper for pre-hashed lua strings
|