Skip to content

Latest commit

 

History

History
105 lines (60 loc) · 3.44 KB

globals.md

File metadata and controls

105 lines (60 loc) · 3.44 KB

Globals

Globals are variables that are always exposed to the Lua API.


The gMarioStates[] table is an array from 0 to (MAX_PLAYERS - 1) that contains a MarioState struct for each possible player.

It is indexed by the local playerIndex, so gMarioStates[0] is always the local player.

🔼


The gNetworkPlayers[] table is an array from 0 to (MAX_PLAYERS - 1) that contains a NetworkPlayer struct for each possible player.

It is indexed by the local playerIndex, so gNetworkPlayers[0] is always the local player.

🔼


The gActiveMods[] table is an array that starts at 0, and contains a Mod struct for each active mod.

🔼


The gCharacter[] table is an array from 0 to (CT_MAX - 1) that contains a Character struct for each possible character.

🔼


The gTextures table contains references to textures. Listed in GlobalTextures.

🔼


The gObjectAnimations table contains references to object animations. Listed in GlobalObjectAnimations.

🔼


The gGlobalObjectCollisionData table contains references to object collision data. Listed in GlobalObjectCollisionData.

🔼


gLakituState's fields are listed in LakituState.

🔼


gLevelValues's fields are listed in LevelValues.

🔼


gBehaviorValues's fields are listed in BehaviorValues.

🔼


gServerSettings's fields are listed in ServerSettings.

NOTE: You should only change the fields in this struct on init, and it shouldn't be done inside of if statements or functions. Failing to follow this advice can result in desyncs.

🔼


The gGlobalSyncTable is a table used for networking. Any field set inside of this table is automatically synchronized with all other clients. Do not use this table for player-specific variables, keep those in gPlayerSyncTable. Player-specific variable will desynchronize within this table since it doesn't automatically translate playerIndex.

🔼


The gPlayerSyncTable[] is an array from 0 to (MAX_PLAYERS - 1) that is used for networking. Any field set inside of this table is automatically synchronized with all other clients.

It is indexed by the local playerIndex, so gPlayerSyncTable[0] is always for the local player.

The underlying networking system will automatically translate the local playerIndex so that the field is set for the correct player.

🔼