Lua ConstGame: Difference between revisions

From Spring
Jump to navigationJump to search
 
(9 intermediate revisions by 4 users not shown)
Line 3: Line 3:


= Engine =
= Engine =
string '''Game.version''' <span class="note">Returns the same as `spring --sync-version`, e.g. "92" or "91.0.1-1283-gf3805a7"</span>


string '''Game.buildFlags''' <span class="note">(unsynced only) Gets additional engine buildflags, e.g. "OMP" or "MT-Sim DEBUG"</span>
Word of advice. Do not modify tables provided by the engine - like Game. Many of them are internally implemented as engine calls.


number '''Game.gameID''' <span class="warning">Replaced in 89.0 with GameID(string gameID) synced callin</span>
{{LuaConstant
|type = string
|name = Game.version
|info = {{removed|104.0}} Now in [[Lua_ConstEngine]]
}}


number '''Game.maxUnits'''<br>
 
number '''Game.maxTeams'''<br>
{{LuaConstant
number '''Game.maxPlayers'''<br>
|type = string
number '''Game.squareSize''' <span class="note">Divide Game.mapSize by this to get engine's "mapDims" coordinates</span> <br>
|name = Game.buildFlags
number '''Game.gameSpeed'''
|info = {{removed|104.0}} Now in [[Lua_ConstEngine]]
}}
 
 
{{LuaConstant
|type = number
|name = Game.gameID
|info = <span class="warning">Replaced in 89.0 with GameID(string gameID) synced callin</span>
}}
 
 
{{LuaConstant
|type = number
|name = Game.maxUnits
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.maxTeams
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.maxPlayers
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.squareSize
|info = <span class="note">Divide Game.mapSizeX or Game.mapSizeZ by this to get engine's "mapDims" coordinates</span>
}}
 
 
{{LuaConstant
|type = number
|name = Game.gameSpeed
|info =
}}


= Host =
= Host =
number '''Game.gameMode''' <span class="warning"> Removed from version 83.x</span> <br>
number '''Game.startPosType'''


boolean '''Game.commEnds''' <span class="warning"> Removed from version 83.x</span> <br>  
{{LuaConstant
boolean '''Game.limitDGun''' <span class="warning"> Removed from version 83.x</span> <br>
|type = number
boolean '''Game.ghostedBuildings'''
|name = Game.gameMode
|info = <span class="warning"> Removed from version 83.x</span>
}}
 
 
{{LuaConstant
|type = number
|name = Game.startPosType
|info =
}}
 
 
{{LuaConstant
|type = bool
|name = Game.commEnds
|info = <span class="warning"> Removed from version 83.x</span>
}}
 
 
{{LuaConstant
|type = bool
|name = Game.limitDGun
|info = <span class="warning"> Removed from version 83.x</span>
}}
 
 
{{LuaConstant
|type = bool
|name = Game.ghostedBuildings
|info =
}}


= Checksums =
= Checksums =
string '''Game.mapChecksum'''<br>
 
string '''Game.modChecksum'''
{{LuaConstant
|type = string
|name = Game.mapChecksum
|info =
}}
 
 
 
{{LuaConstant
|type = string
|name = Game.modChecksum
|info =
}}


= Map =
= Map =
bool '''Game.mapDamage'''<br>
 
string '''Game.mapName'''<br>
{{LuaConstant
string '''Game.mapDescription''' = string '''Game.mapHumanName'''<br>
|type = bool
number '''Game.mapHardness'''<br>
|name = Game.mapDamage
number '''Game.mapX'''<br>
|info =
number '''Game.mapY'''<br>
}}
number '''Game.mapSizeX'''  <font color="#55ee99">  in worldspace/opengl coords</font><br>
 
number '''Game.mapSizeZ''' <font color="#55ee99">  in worldspace/opengl coords</font><br>
 
number '''Game.gravity'''<br>
{{LuaConstant
number '''Game.tidal'''<br>
|type = string
number '''Game.windMin'''<br>
|name = Game.mapName
number '''Game.windMax'''<br>
|info =
number '''Game.extractorRadius'''<br>
}}
number '''Game.waterDamage'''
 
 
{{LuaConstant
|type = string
|name = Game.mapDescription
|info = = {{type|string}} '''Game.mapHumanName'''
}}
 
 
{{LuaConstant
|type = number
|name = Game.mapHardness
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.mapX
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.mapY
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.mapSizeX
|info = <font color="#55ee99">  in worldspace/opengl coords. Divide by Game.squareSize to get engine's "mapDims" coordinates</font>
}}
 
 
{{LuaConstant
|type = number
|name = Game.mapSizeZ
|info = <font color="#55ee99">  in worldspace/opengl coords. Divide by Game.squareSize to get engine's "mapDims" coordinates</font>
}}
 
 
 
{{LuaConstant
|type = number
|name = Game.gravity
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.tidal
|info =
}}
 
 
 
{{LuaConstant
|type = number
|name = Game.windMin
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.windMax
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.extractorRadius
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.waterDamage
|info =
}}
 
 
{{LuaConstant
|type = table
|name = Game.envDamageTypes
|info = <font color="#55ee99">Containing {def}IDs of environmental-damage sources {{new|104.0}}.</font>
}}


= Mod =
= Mod =
string '''Game.gameName''' {{new|95.0}}<br>
string '''Game.gameShortName''' {{new|95.0}}<br>
string '''Game.gameVersion''' {{new|95.0}}<br>
string '''Game.gameMutator''' {{new|95.0}}<br>
string '''Game.gameDesc''' {{new|95.0}}


string '''Game.modName''' <span class=warning>deprecated (it is in contrast to gameName appended with gameVersion!)</span><br>
{{LuaConstant
string '''Game.modShortName''' <span class=warning>deprecated</span><br>
|type = string
string '''Game.modVersion''' <span class=warning>deprecated</span><br>
|name = Game.gameName
string '''Game.modMutator''' <span class=warning>deprecated</span><br>
|info = {{new|95.0}}
string '''Game.modDesc''' <span class=warning>deprecated</span>
}}
 
 
{{LuaConstant
|type = string
|name = Game.gameShortName
|info = {{new|95.0}}
}}
 
 
{{LuaConstant
|type = string
|name = Game.gameVersion
|info = {{new|95.0}}
}}
 
 
{{LuaConstant
|type = string
|name = Game.gameMutator
|info = {{new|95.0}}
}}
 
 
{{LuaConstant
|type = string
|name = Game.gameDesc
|info = {{new|95.0}}
}}
 
 
{{LuaConstant
|type = string
|name = Game.modName
|info = <span class=warning>deprecated (it is in contrast to gameName appended with gameVersion!)</span>
}}
 
 
{{LuaConstant
|type = string
|name = Game.modShortName
|info = <span class=warning>deprecated</span><br>
}}
 
 
{{LuaConstant
|type = string
|name = Game.modVersion
|info = <span class=warning>deprecated</span><br>
}}
 
 
 
{{LuaConstant
|type = string
|name = Game.modMutator
|info = <span class=warning>deprecated</span><br>
}}
 
 
{{LuaConstant
|type = string
|name = Game.modDesc
|info = <span class=warning>deprecated</span><br>
}}
 
 
{{LuaConstant
|type = bool
|name = Game.allowTeamColors
|info =
}}
 
 
 
{{LuaConstant
|type = bool
|name = Game.requireSonarUnderWater
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.transportAir
|info =
}}


boolean '''Game.allowTeamColors'''<br>
 
number '''Game.transportAir'''<br>
{{LuaConstant
number '''Game.transportShip'''<br>
|type = number
number '''Game.transportHover'''<br>
|name = Game.transportShip
number '''Game.transportGround'''<br>
|info =
number '''Game.fireAtKilled'''<br>
}}
number '''Game.fireAtCrashing'''<br>
 
boolean '''Game.requireSonarUnderWater'''
 
{{LuaConstant
|type = number
|name = Game.transportHover
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.transportGround
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.fireAtKilled
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.fireAtCrashing
|info =
}}


= Constructor =
= Constructor =
boolean '''Game.constructionDecay'''<br>
number '''Game.constructionDecayTime'''<br>
number '''Game.constructionDecaySpeed'''<br>


number '''Game.multiReclaim'''<br>
{{LuaConstant
number '''Game.reclaimMethod'''<br>
|type = bool
number '''Game.reclaimUnitMethod'''<br>
|name = Game.constructionDecay
number '''Game.reclaimUnitEnergyCostFactor'''<br>
|info =
number '''Game.reclaimUnitEfficiency'''<br>
}}
number '''Game.reclaimFeatureEnergyCostFactor'''<br>
 
boolean '''Game.reclaimAllowEnemies'''<br>
 
boolean '''Game.reclaimAllowAllies'''<br>
{{LuaConstant
number '''Game.repairEnergyCostFactor'''<br>
|type = bool
number '''Game.resurrectEnergyCostFactor'''<br>
|name = Game.reclaimAllowEnemies
number '''Game.captureEnergyCostFactor'''
|info =
}}
 
 
{{LuaConstant
|type = bool
|name = Game.reclaimAllowAllies
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.constructionDecayTime
|info =
}}
 
 
 
{{LuaConstant
|type = number
|name = Game.constructionDecaySpeed
|info =
}}
 
 
 
{{LuaConstant
|type = number
|name = Game.multiReclaim
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.reclaimMethod
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.reclaimUnitMethod
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.reclaimUnitEnergyCostFactor
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.reclaimUnitEfficiency
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.reclaimFeatureEnergyCostFactor
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.repairEnergyCostFactor
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.resurrectEnergyCostFactor
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.captureEnergyCostFactor
|info =
}}


= Categories =
= Categories =
table '''Game.springCategories'''
 
<font color="#55ee99">
{{LuaConstant
|type = table
|name = Game.springCategories
|info = <font color="#55ee99">
   example: {
   example: {
     ["vtol"]        = 0,  ["special"]      = 1,  ["noweapon"]    = 2,
     ["vtol"]        = 0,  ["special"]      = 1,  ["noweapon"]    = 2,
Line 98: Line 470:
     ["air"]          = 30
     ["air"]          = 30
   }</font>
   }</font>
table '''Game.armorTypes''' <font color="#55ee99">(bidirectional)</font>
}}
 
 
{{LuaConstant
|type = table
|name = Game.armorTypes
|info = <font color="#55ee99">(bidirectional)</font>
<font color="#55ee99">
<font color="#55ee99">
   example: {
   example: {
Line 111: Line 489:
     ["crawlingbombs"]= 10, ...
     ["crawlingbombs"]= 10, ...
   }</font>
   }</font>
}}


= Water Visuals =
= Water Visuals =
boolean '''Game.waterVoid'''<br>
{{removed|104.0}} - No longer constant as are now runtime mutable (Use gl.GetWaterRendering(name) instead).
boolean '''Game.waterPlane'''<br>
 
string '''Game.waterTexture'''<br>
{{LuaConstant
number '''Game.waterRepeatX'''<br>
|type = bool
number '''Game.waterRepeatY'''<br>
|name = Game.waterVoid
string '''Game.waterFoamTexture'''<br>
|info =
string '''Game.waterNormalTexture'''<br>
}}
table '''Game.waterCausticTextures''' <font color="#55ee99">= {"tex1","tex2",..}</font><br>
 
color '''Game.waterAbsorb''' <font color="#55ee99">= { number r, number g, number b}</font><br>
 
color '''Game.waterBaseColor'''<br>
{{LuaConstant
color '''Game.waterMinColor'''<br>
|type = bool
color '''Game.waterSurfaceColor'''<br>
|name = Game.waterPlane
number '''Game.waterSurfaceAlpha'''<br>
|info =
color '''Game.waterSpecularColor'''<br>
}}
number '''Game.waterSpecularFactor'''<br>
 
color '''Game.waterPlaneColor'''<br>
 
number '''Game.waterFresnelMin'''<br>
 
number '''Game.waterFresnelMax'''<br>
{{LuaConstant
number '''Game.waterFresnelPower'''<br>
|type = string
color  '''Game.fogColor'''<br>
|name = Game.waterTexture
color '''Game.groundAmbientColor'''<br>
|info =
color '''Game.groundSpecularColor'''<br>
}}
color '''Game.groundSunColor'''
 
 
 
{{LuaConstant
|type = string
|name = Game.waterFoamTexture
|info =
}}
 
 
 
{{LuaConstant
|type = string
|name = Game.waterNormalTexture
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.waterRepeatX
|info =
}}
 
 
 
{{LuaConstant
|type = number
|name = Game.waterRepeatY
|info =
}}
 
 
 
{{LuaConstant
|type = number
|name = Game.waterSurfaceAlpha
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.waterSpecularFactor
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.waterFresnelMin
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.waterFresnelMax
|info =
}}
 
 
{{LuaConstant
|type = number
|name = Game.waterFresnelPower
|info =
}}
 
 
 
{{LuaConstant
|type = table
|name = Game.waterCausticTextures
|info = <font color="#55ee99">= {"tex1","tex2",..}</font>
}}
 
 
{{LuaConstant
|type = color
|name = Game.waterAbsorb
|info = <font color="#55ee99">= { number r, number g, number b}</font>
}}
 
 
{{LuaConstant
|type = color
|name = Game.waterBaseColor
|info =
}}
 
 
{{LuaConstant
|type = color
|name = Game.waterMinColor
|info =
}}
 
 
{{LuaConstant
|type = color
|name = Game.waterSurfaceColor
|info =
}}
 
 
 
{{LuaConstant
|type = color
|name = Game.waterSpecularColor
|info =
}}
 
 
 
{{LuaConstant
|type = color
|name = Game.waterPlaneColor
|info =
}}
 
 
{{LuaConstant
|type = color
|name = Game.fogColor
|info = {{removed|101.0}} (Use gl.GetAtmosphere("fogColor") instead)
}}
 
 
{{LuaConstant
|type = color
|name = Game.groundAmbientColor
|info = {{removed|101.0}} (Use gl.GetSun("ambient") instead)
}}
 
 
{{LuaConstant
|type = color
|name = Game.groundSpecularColor
|info = {{removed|101.0}} (Use gl.GetSun("specular") instead)
}}
 
 
{{LuaConstant
|type = color
|name = Game.groundSunColor
|info = {{removed|101.0}} (Use gl.GetSun("diffuse") instead)
}}
 


[[category: Lua]]
[[category: Lua]]

Latest revision as of 20:09, 17 October 2021

Development < Lua Scripting < Lua ConstGame


Engine

Word of advice. Do not modify tables provided by the engine - like Game. Many of them are internally implemented as engine calls.

string Game.version

Removed from version 104.0 Now in Lua_ConstEngine


string Game.buildFlags

Removed from version 104.0 Now in Lua_ConstEngine


number Game.gameID

Replaced in 89.0 with GameID(string gameID) synced callin


number Game.maxUnits


number Game.maxTeams


number Game.maxPlayers


number Game.squareSize

Divide Game.mapSizeX or Game.mapSizeZ by this to get engine's "mapDims" coordinates


number Game.gameSpeed

Host

number Game.gameMode

Removed from version 83.x


number Game.startPosType


bool Game.commEnds

Removed from version 83.x


bool Game.limitDGun

Removed from version 83.x


bool Game.ghostedBuildings

Checksums

string Game.mapChecksum


string Game.modChecksum

Map

bool Game.mapDamage


string Game.mapName


string Game.mapDescription

= string Game.mapHumanName


number Game.mapHardness


number Game.mapX


number Game.mapY


number Game.mapSizeX

in worldspace/opengl coords. Divide by Game.squareSize to get engine's "mapDims" coordinates


number Game.mapSizeZ

in worldspace/opengl coords. Divide by Game.squareSize to get engine's "mapDims" coordinates


number Game.gravity


number Game.tidal


number Game.windMin


number Game.windMax


number Game.extractorRadius


number Game.waterDamage


table Game.envDamageTypes

Containing {def}IDs of environmental-damage sources New in version 104.0.

Mod

string Game.gameName

New in version 95.0


string Game.gameShortName

New in version 95.0


string Game.gameVersion

New in version 95.0


string Game.gameMutator

New in version 95.0


string Game.gameDesc

New in version 95.0


string Game.modName

deprecated (it is in contrast to gameName appended with gameVersion!)


string Game.modShortName

deprecated


string Game.modVersion

deprecated


string Game.modMutator

deprecated


string Game.modDesc

deprecated


bool Game.allowTeamColors


bool Game.requireSonarUnderWater


number Game.transportAir


number Game.transportShip


number Game.transportHover


number Game.transportGround


number Game.fireAtKilled


number Game.fireAtCrashing

Constructor

bool Game.constructionDecay


bool Game.reclaimAllowEnemies


bool Game.reclaimAllowAllies


number Game.constructionDecayTime


number Game.constructionDecaySpeed


number Game.multiReclaim


number Game.reclaimMethod


number Game.reclaimUnitMethod


number Game.reclaimUnitEnergyCostFactor


number Game.reclaimUnitEfficiency


number Game.reclaimFeatureEnergyCostFactor


number Game.repairEnergyCostFactor


number Game.resurrectEnergyCostFactor


number Game.captureEnergyCostFactor

Categories

table Game.springCategories

 example: {
   ["vtol"]         = 0,  ["special"]      = 1,  ["noweapon"]     = 2,
   ["notair"]       = 3,  ["notsub"]       = 4,  ["all"]          = 5,
   ["weapon"]       = 6,  ["notship"]      = 7,  ["notland"]      = 8,
   ["mobile"]       = 9,  ["kbot"]         = 10, ["antigator"]    = 11,
   ["tank"]         = 12, ["plant"]        = 13, ["ship"]         = 14,
   ["antiemg"]      = 15, ["antilaser"]    = 16, ["antiflame"]    = 17,
   ["underwater"]   = 18, ["hover"]        = 19, ["phib"]         = 20,
   ["constr"]       = 21, ["strategic"]    = 22, ["commander"]    = 23,
   ["paral"]        = 24, ["jam"]          = 25, ["mine"]         = 26,
   ["kamikaze"]     = 27, ["minelayer"]    = 28, ["notstructure"] = 29,
   ["air"]          = 30
 }


table Game.armorTypes

(bidirectional)

 example: {
   [1]  = amphibious,   [2] = anniddm,     [3] = antibomber,
   [4]  = antifighter,  [5] = antiraider,  [6] = atl,
   [7]  = blackhydra,   [8] = bombers,     [9] = commanders,
   [10] = crawlingbombs, ...
   ["amphibious"]   = 1, ["anniddm"]    = 2, ["antibomber"] = 3
   ["antifighter"]  = 4, ["antiraider"] = 5, ["atl"]        = 6
   ["blackhydra"]   = 7, ["bombers"]    = 8, ["commanders"] = 9
   ["crawlingbombs"]= 10, ...
 }

Water Visuals

Removed from version 104.0 - No longer constant as are now runtime mutable (Use gl.GetWaterRendering(name) instead).

bool Game.waterVoid


bool Game.waterPlane


string Game.waterTexture


string Game.waterFoamTexture


string Game.waterNormalTexture


number Game.waterRepeatX


number Game.waterRepeatY


number Game.waterSurfaceAlpha


number Game.waterSpecularFactor


number Game.waterFresnelMin


number Game.waterFresnelMax


number Game.waterFresnelPower


table Game.waterCausticTextures

= {"tex1","tex2",..}


color Game.waterAbsorb

= { number r, number g, number b}


color Game.waterBaseColor


color Game.waterMinColor


color Game.waterSurfaceColor


color Game.waterSpecularColor


color Game.waterPlaneColor


color Game.fogColor

Removed from version 101.0 (Use gl.GetAtmosphere("fogColor") instead)


color Game.groundAmbientColor

Removed from version 101.0 (Use gl.GetSun("ambient") instead)


color Game.groundSpecularColor

Removed from version 101.0 (Use gl.GetSun("specular") instead)


color Game.groundSunColor

Removed from version 101.0 (Use gl.GetSun("diffuse") instead)