|
|
| (11 intermediate revisions by the same user not shown) |
| Line 1: |
Line 1: |
| [[Engine_Development|Development]] < [[Lua_Scripting|Lua Scripting]] < {{FULLPAGENAME}} | | [[Engine_Development|Development]] < [[Lua_Scripting|Lua Scripting]] < {{FULLPAGENAME}} |
|
| |
|
| | <span class="warning">These functions are ONLY available if the graphic board supports GLSL.<br><br> Please test in your scripts if one of them exists before you use them!</span> |
|
| |
|
|
| |
|
| <div class="note">
| | '''gl.CreateShader''' |
| NOTE: Prior to 102.0, entries below marked <font color="red" style="font-weight:600">(needs ModUICtrl)</font> require the setting ModUICtrl to be enabled in the users [[springrc]], if you want to use them in unsynced LuaRules/LuaGaia. It is enabled by default in previous versions and removed in 102.0 so you generally don't need to care.</div>
| | ({[ vertex = "glsl code" ,] |
| | [ tcs = "glsl code" ,] |
| | [ tes = "glsl code" ,] |
| | [ geometry = "glsl code" ,] |
| | [ fragment = "glsl code" ,] |
| | [ uniform = { uniformName = number value, ...} ,] <span class=note>(specify a Lua array as an argument to uniformName to initialize GLSL arrays)</span> |
| | [ uniformInt = { uniformName = number value, ...} ,] <span class=note>(specify a Lua array as an argument to uniformName to initialize GLSL arrays)</span> |
| | [ uniformFloat = { uniformName = number value, ...} ,] <span class=note>(specify a Lua array as an argument to uniformName to initialize GLSL arrays)</span> |
| | [ uniformMatrix = { uniformName = number value, ...} ,] |
| | [ geoInputType = number inType,] |
| | [ geoOutputType = number outType,] |
| | [ geoOutputVerts = number maxVerts,] |
| | [ definitions = "string of shader #defines", ] |
| | }) -> number shaderID |
|
| |
|
| = UI =
| | * The "Vertex" or vertex-shader is your GLSL-Code as string, its written in a C-Dialect. This shader is busy deforming the geometry of a unit but it can not create new polygons. Use it for waves, wobbling surfaces etc. |
| | |
| | * The "Geometry" or Geometry-shader can create new vertices and vertice-stripes from points. |
|
| |
|
| {{LuaCallout
| | * The "TCS" or Tesselation Control Shader controls how much tessellation a particular patch gets; it also defines the size of a patch, thus allowing it to augment data. It can also filter vertex data taken from the vertex shader. The main purpose of the TCS is to feed the tessellation levels to the Tessellation primitive generator stage, as well as to feed patch data (as its output values) to the Tessellation Evaluation Shader stage. TCS shader can be used with spring version >= 104.0.1-596 (maintenance), it's also available in develop branch of spring. |
| |prefix = Spring.
| |
| |name = SetLastMessagePosition
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} y
| |
| |arg3 = {{type|number}} z
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
|
| |
|
| = Ingame Console = | | * The "TES" or Tesselation Evaluation Shader takes the abstract patch generated by the tessellation primitive generation stage, as well as the actual vertex data for the entire patch, and generates a particular vertex from it. Each TES invocation generates a single vertex. It can also take per-patch data provided by the Tessellation Control Shader. TES shader can be used with spring version >= 104.0.1-596 (maintenance), it's also available in develop branch of spring. |
|
| |
|
| {{LuaCallout
| | * The "Fragment" or Fragment-shader (sometimes called pixel-Shader) is post processing the allready rendered picture (for example drawing stars on the sky)- remember textures are not always 2 dimensional pictures. They can contain information about the depth, or the third value marks areas and the strength at which these are processed. |
| |prefix = Spring.
| |
| |name = Echo
| |
| |arg1 = {{type|arg1}} {{bracket}}
| |
| |arg2 = {{type|arg2}} {{bracket}}
| |
| |arg3 = {{type|...}} {{rbracket}}{{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = Useful for debugging.<br> Prints values in the spring chat console.<br> Hint: the default print() writes to STDOUT.
| |
| }}
| |
|
| |
|
| | * The Uniforms are the values, you send along with the shader-program. To use them in the shader-program declare them like this: |
| | <syntaxhighlight lang="c">uniform float frame;</syntaxhighlight> |
|
| |
|
| {{LuaCallout
| | * From 101.0 onwards, the engine will automatically fill in an appropriately named uniform for team colour if it is declared; |
| |prefix = Spring.
| | <syntaxhighlight lang="c">uniform vec4 teamColor;</syntaxhighlight> |
| |name = Log
| |
| |arg1 = {{type|string}} section
| |
| |arg2 = {{type|number}} logLevel {{pipe}} {{type|string}} logLevel
| |
| |arg3 = {{type|string}} LogMessage1 {{bracket}}
| |
| |arg4 = {{type|string}} LogMessage2{{bracket}}
| |
| |arg5 = ... {{rbracket}}{{rbracket}}
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| <pre>Possible values for logLevel are:
| |
| "debug" | LOG.DEBUG
| |
| "info" | LOG.INFO
| |
| "notice" | LOG.NOTICE (engine default) (new in Version 97)
| |
| "warning" | LOG.WARNING
| |
| "error" | LOG.ERROR
| |
| "fatal" | LOG.FATAL</pre>
| |
|
| |
|
| | '''gl.DeleteShader''' |
| | ( number shaderID ) -> nil |
|
| |
|
| | '''gl.ActiveShader''' <font color="#55ee99">can be used in NON-drawing events (to update uniforms etc.)!</font> |
| | ( number shaderID, function [, arg1 [, arg2, ..]] ) -> nil |
|
| |
|
| {{LuaCallout
| | '''gl.UseShader''' |
| |prefix = Spring.
| | ( number shaderID ) -> boolean linked |
| |name = SendCommands
| |
| |arg1 = {{type|string}} command1 {{bracket}}
| |
| |arg2 = {{type|string}} command2 {{bracket}}
| |
| |arg3 = {{type|...}} {{rbracket}}{{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
|
| |
|
| or
| | '''gl.GetShaderLog''' |
| | ( ) -> string "infoLog" |
|
| |
|
| {{LuaCallout
| | '''gl.SetShaderParameter''' |
| |prefix = Spring.
| | <font color="#ff0000">Renamed to SetGeometryShaderParameter in spring version >= 104.0.1-596 (maintenance).</font> |
| |name = SendCommands
| | <font color="#55ee99">needed by geometry shader programs (check the opengl GL_ARB_geometry_shader4 extension for glProgramParameteri)</font> |
| |arg1 = { {{type|string}} command1, {{type|string}} command2, ... }
| | ( number shaderID, number param, number value ) -> nil |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
|
| |
|
| == GUI == | | '''gl.SetTesselationShaderParameter''' |
| | <font color="#0000ee">Available for spring versions >= 104.0.1-596 (maintenance).</font> |
| | <font color="#55ee99">needed by tesselation shader programs (check the opengl GL_ARB_tessellation_shader extension for glProgramParameteri)</font> |
| | ( number param, number value ) -> nil |
|
| |
|
| {{LuaCallout
| | '''gl.GetActiveUniforms''' |
| |prefix = Spring.
| | ( number shaderID ) -> { |
| |name = SetActiveCommand
| | [1] = { name = "name", type = "type", length = number length, size = number size }, |
| |arg1 = {{type|string}} action {{bracket}}
| | ... |
| |arg2 = {{type|string}} actionExtra {{rbracket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} commandSet
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| or
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetActiveCommand
| |
| |arg1 = {{type|number}} cmdIndex {{bracket}}
| |
| |arg2 = {{type|number}} button = 1 {{bracket}}
| |
| |arg3 = {{type|bool}} leftClick {{bracket}}
| |
| |arg4 = {{type|bool}} rightClick {{bracket}}
| |
| |arg5 = {{type|bool}} alt {{bracket}}
| |
| |arg6 = {{type|bool}} ctrl {{bracket}}
| |
| |arg7 = {{type|bool}} meta {{bracket}}
| |
| |arg8 = {{type|bool}} shift {{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} commandSet
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = LoadCmdColorsConfig
| |
| |arg1 = {{type|string}} config
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = LoadCtrlPanelConfig
| |
| |arg1 = {{type|string}} config
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = ForceLayoutUpdate
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetDrawSelectionInfo
| |
| |arg1 = {{type|bool}} enable
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font><br>Disables the "Selected Units x" box in the GUI.
| |
| }}
| |
| | |
| == Mouse ==
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetMouseCursor
| |
| |arg1 = {{type|string}} cursorName {{bracket}}
| |
| |arg2 = {{type|number}} scale {{rbracket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = WarpMouse
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} y
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| == LOS Colors ==
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetLosViewColors
| |
| |arg1 = {{type|table}} always = {r,g,b}
| |
| |arg2 = {{type|table}} LOS = {r,g,b}
| |
| |arg3 = {{type|table}} radar = {r,g,b}
| |
| |arg4 = {{type|table}} jam = {r,g,b}
| |
| |arg5 = {{type|table}} radar2 = {r,g,b}
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font><br>New arguments since 100.0 (radar2 is the inside of radar edge). Arguments for 99.0 and before:<br>
| |
| }}
| |
| <pre>( table reds = { number always, number LOS, number radar, number jam },
| |
| table greens = { number always, number LOS, number radar, number jam },
| |
| table blues = { number always, number LOS, number radar, number jam } ) -> nil</pre>
| |
| | |
| == SendMessage ==
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SendMessage
| |
| |arg1 = {{type|string}} message
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SendMessageToPlayer
| |
| |arg1 = {{type|number}} playerID
| |
| |arg2 = {{type|string}} message
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SendMessageToTeam
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 = {{type|string}} message
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SendMessageToAllyTeam
| |
| |arg1 = {{type|number}} allyID
| |
| |arg2 = {{type|string}} message
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SendMessageToSpectators
| |
| |arg1 = {{type|string}} message
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <PLAYER#> (with # being a playerid) inside the string will be replaced with the players name - i.e. :<br>Spring.SendMessage ("<PLAYER1> did something")<br>might display as "ProRusher did something"
| |
| }}
| |
| | |
| == Markers ==
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = MarkerAddPoint
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} y
| |
| |arg3 = {{type|number}} z {{bracket}}
| |
| |arg4 = {{type|string}} text = "" {{bracket}}
| |
| |arg5 = {{type|bool}} localOnly {{rbracket}}{{rbracket}}
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = MarkerAddLine
| |
| |arg1 = {{type|number}} x1
| |
| |arg2 = {{type|number}} y1
| |
| |arg3 = {{type|number}} z1
| |
| |arg4 = {{type|number}} x2
| |
| |arg5 = {{type|number}} y2
| |
| |arg6 = {{type|number}} z2
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = MarkerErasePosition
| |
| |arg1 = {{type|number}} x
| |
| |arg2 = {{type|number}} y
| |
| |arg3 = {{type|number}} z
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| = Sounds =
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = LoadSoundDef
| |
| |arg1 = {{type|string}} soundfile
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} success
| |
| |info = Loads a SoundDefs file, the format is the same as in `gamedata/sounds.lua`.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = PlaySoundFile
| |
| |arg1 = {{type|string}} soundfile {{bracket}}
| |
| |arg2 = {{type|number}} volume = 1.0 {{bracket}}
| |
| |arg3 = {{type|number}} posx {{bracket}}
| |
| |arg4 = {{type|number}} posy {{bracket}}
| |
| |arg5 = {{type|number}} posz {{bracket}}
| |
| |arg6 = {{type|number}} speedx{{bracket}}
| |
| |arg7 = {{type|number}} speedy{{bracket}}
| |
| |arg8 = {{type|number}} speedz{{bracket}}
| |
| |arg9 = {{type|number}} {{pipe}} {{type|string}} channel {{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} playSound
| |
| |info = Possible arguments for channel argument:
| |
| }}
| |
| <pre> "general" || 0 || nil (default)
| |
| "battle" || "sfx" | 1
| |
| "unitreply" || "voice" || 2
| |
| "userinterface" || "ui" || 3</pre>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = PlaySoundStream
| |
| |arg1 = {{type|string}} oggfile {{bracket}}
| |
| |arg2 = {{type|number}} volume = 1.0 {{bracket}}
| |
| |arg3 = {{type|bool}} enqueue {{rbracket}}{{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} true
| |
| |info = Allows to play an Ogg Vorbis (.OGG) compressed sound file.<br> In 83.0 and up multiple sound streams may be played at once.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = StopSoundStream
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = Terminates any SoundStream currently running.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = PauseSoundStream
| |
| |arg1 =
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetSoundStreamVolume
| |
| |arg1 = {{type|number}} volume
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| = SendLuaMessage =
| |
| <font color="#55ee99">Very important! (allows synced inter-lua-enviroment communications)</font>
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SendLuaUIMsg
| |
| |arg1 = {{type|string}} message
| |
| |arg2 = {{type|string}} mode
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font><br>Possible modes are:<br>"s"/"specs" & "a"/"allies"
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SendLuaGaiaMsg
| |
| |arg1 = {{type|string}} message
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SendLuaRulesMsg
| |
| |arg1 = {{type|string}} message
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| = AI =
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SendSkirmishAIMessage
| |
| |arg1 = {{type|number}} aiTeam
| |
| |arg2 = {{type|string}} message
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} ai_processed, { {{bracket|1}} = {{type|string}} response1, ... }
| |
| |info = {{new|83.0}}<br>Note there is nothing in this table due to "limitations" of the AI interface.
| |
| }}
| |
| | |
| = Units =
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetUnitLeaveTracks
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|bool}} leavetracks
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|83.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetUnitSelectionVolumeData
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 = {{type|number}} scaleX, {{type|number}} scaleY, {{type|number}} scaleZ
| |
| |arg3 = {{type|number}} offsetX, {{type|number}} offsetY, {{type|number}} offsetZ
| |
| |arg4 = {{type|number}} vType
| |
| |arg5 = {{type|number}} tType
| |
| |arg6 = {{type|number}} Axis
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|104.0}}
| |
| }}
| |
| | |
| == Unit Selection ==
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SelectUnitMap
| |
| |arg1 = { {{bracket|unitID}} = anything, ... } {{bracket}}
| |
| |arg2 = {{type|bool}} append {{rbacket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SelectUnitArray
| |
| |arg1 = { {{bracket|1}} = unitID1, {{bracket|2}} = unitID2, ... } {{bracket}}
| |
| |arg2 = {{type|bool}} append {{rbacket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetDrawSelectionInfo
| |
| |arg1 = {{type|bool}} drawSelectionInfo
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| == Unit Group ==
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetUnitGroup
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} groupID
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| == Give Order ==
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GiveOrder
| |
| |arg1 = {{type|number}} cmdID
| |
| |arg2 = {{type|table}} params = {number, etc...}
| |
| |arg3 = {{type|table}} options = {"alt", "ctrl", "shift", "right"}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} true
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font><br>Gives order to all selected units.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GiveOrderToUnit
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|number}} cmdID
| |
| |arg3 = {{type|table}} params = {number, etc...}
| |
| |arg4 = {{type|table}} options = {"alt", "ctrl", "shift", "right"}
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} true
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GiveOrderToUnitMap
| |
| |arg1 = {{type|table}} unitMap = { {{bracket|unitID}} = arg1, etc... }
| |
| |arg2 = {{type|number}} cmdID
| |
| |arg3 = {{type|table}} params = {number, etc...}
| |
| |arg4 = {{type|table}} options = {"alt", "ctrl", "shift", "right"}
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} true
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GiveOrderToUnitArray
| |
| |arg1 = {{type|table}} unitArray = { {{bracket|1}} = {{type|number}} unitID, etc... }
| |
| |arg2 = {{type|number}} cmdID
| |
| |arg3 = {{type|table}} params = {number, etc...}
| |
| |arg4 = {{type|table}} options = {"alt", "ctrl", "shift", "right"}
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} true
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GiveOrderArrayToUnitMap
| |
| |arg1 = {{type|table}} unitMap = { {{bracket|unitID}} = arg1, etc... }
| |
| |arg2 = {{type|table}} orderArray = { {{type|number}} cmdID, {{type|table}} params = {number, etc...}, {{type|table}} options = {"alt", "ctrl", "shift", "right"} }
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} true
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = GiveOrderArrayToUnitArray
| |
| |arg1 = {{type|table}} unitArray = { {{bracket|11}} = {{type|number}} unitID, etc... }
| |
| |arg2 = {{type|table}} orderArray = { {{type|number}} cmdID, {{type|table}} params = {number, etc...}, {{type|table}} options = {"alt", "ctrl", "shift", "right"} } {{bracket}}
| |
| |arg3 = {{type|bool}} pairwise {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} true
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font><br>"pairwise" paramater ({{new|89.0}}) is used to send multiple units a single individual command.
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetBuildFacing
| |
| |arg1 = {{type|number}} facing
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetBuildSpacing
| |
| |arg1 = {{type|number}} spacing
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| == Unit NoDraw,NoSelect,NoMinimap ==
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetUnitNoDraw
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|bool}} noDraw
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">LuaGadgets only!</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetUnitNoSelect
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|bool}} noSelect
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">LuaGadgets only!</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetUnitNoMinimap
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 = {{type|bool}} noMinimap
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">LuaGadgets only!</font>
| |
| }}
| |
| | |
| = Features =
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetFeatureFade
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 = {{type|bool}} allow
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|101.0}}<br>Control whether a feature will fade or not when zoomed out.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetFeatureNoDraw
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 = {{type|bool}} noDraw
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">LuaGadgets only!</font>
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetFeatureSelectionVolumeData
| |
| |arg1 = {{type|number}} featureID
| |
| |arg2 = {{type|number}} scaleX, {{type|number}} scaleY, {{type|number}} scaleZ
| |
| |arg3 = {{type|number}} offsetX, {{type|number}} offsetY, {{type|number}} offsetZ
| |
| |arg4 = {{type|number}} vType
| |
| |arg5 = {{type|number}} tType
| |
| |arg6 = {{type|number}} Axis
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|104.0}}
| |
| }}
| |
| | |
| = Developers =
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetDrawSky
| |
| |arg1 = {{type|bool}} drawSky
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetDrawWater
| |
| |arg1 = {{type|bool}} drawWater
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetDrawGround
| |
| |arg1 = {{type|bool}} drawGround
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetWaterParams
| |
| |arg1 = {{type|table}} params
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = As of 104.0 no longer needs cheating enabled.<br>Allows to change water params (mostly BumpWater ones) at runtime. You may want to set BumpWaterUseUniforms in your [[springrc]] to 1, then you don't even need to restart BumpWater via `/water 4`. "Params" table contains:
| |
| }}
| |
| <pre> params = {
| |
| absorb = {number r, number g, number b},
| |
| baseColor = {number r, number g, number b},
| |
| minColor = {number r, number g, number b},
| |
| surfaceColor = {number r, number g, number b},
| |
| diffuseColor = {number r, number g, number b},
| |
| specularColor = {number r, number g, number b},
| |
| planeColor = {number r, number g, number b},
| |
| texture = string file,
| |
| foamTexture = string file,
| |
| normalTexture = string file,
| |
| damage = number value,
| |
| repeatX = number value,
| |
| repeatY = number value,
| |
| surfaceAlpha = number value,
| |
| ambientFactor = number value,
| |
| diffuseFactor = number value,
| |
| specularFactor = number value,
| |
| specularPower = number value,
| |
| fresnelMin = number value,
| |
| fresnelMax = number value,
| |
| fresnelPower = number value,
| |
| reflectionDistortion = number value,
| |
| blurBase = number value,
| |
| blurExponent = number value,
| |
| perlinStartFreq = number value,
| |
| perlinLacunarity = number value,
| |
| perlinAmplitude = number value,
| |
| numTiles = number value,
| |
| shoreWaves = boolean value,
| |
| forceRendering = boolean value,
| |
| hasWaterPlane = boolean value,
| |
| }</pre>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetMapRenderingParams
| |
| |arg1 = {{type|table}} params
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|104.0}}<br>Allows to change map rendering params at runtime.<br>"Params" table contains:
| |
| }}
| |
| <pre> params = {
| |
| splatTexMults = {number r, number g, number b, number a},
| |
| splatTexScales = {number r, number g, number b, number a},
| |
| voidWater = boolean value,
| |
| voidGround = boolean value,
| |
| splatDetailNormalDiffuseAlpha = boolean value,
| |
| }</pre>
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetLogSectionFilterLevel
| |
| |arg1 = {{type|string}} sectionName
| |
| |arg2 = {{type|string}} {{pipe}} {{type|number}} logLevel
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{New|95.0}}<br>See [[infolog.txt]] for possible log sections.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetDrawGroundDeferred
| |
| |arg1 = {{type|bool}} drawGroundDeferred {{bracket}}
| |
| |arg2 = {{type|bool}} drawGroundForward {{rbracket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|101.0}} {{var|drawGroundForward}} allows disabling of the forward pass
| |
| }}
| |
| | |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetDrawModelsDeferred
| |
| |arg1 = {{type|bool}} drawUnitsDeferred
| |
| |arg2 = {{type|bool}} drawFeaturesDeferred {{bracket}}
| |
| |arg3 = {{type|bool}} drawUnitsForward {{bracket}}
| |
| |arg4 = {{type|bool}} drawFeaturesForward {{rbracket}}{{rbracket}}
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|101.0}} {{var|drawFeaturesForward}}, {{var|drawUnitsForward}} allows disabling of the respective forward passes
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetVideoCapturingMode
| |
| |arg1 = {{type|bool}} allowCaptureMode
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|104.0}}<br>This doesn't actually record the game in any way, it just regulates the framerate and interpolations.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetVideoCapturingTimeOffset
| |
| |arg1 = {{type|bool}} timeOffset
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|104.0}}
| |
| }}
| |
| | |
| = GUI =
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = DrawUnitCommands
| |
| |arg1 = {{type|number}} unitID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|104.0}}
| |
| }}
| |
| | |
| or
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = DrawUnitCommands
| |
| |arg1 = {{type|table}} units = { {{bracket|1}} = unitID, ... } {{bracket}}
| |
| |arg2 = {{type|bool}} false
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| or
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = DrawUnitCommands
| |
| |arg1 = {{type|table}} units = { {{bracket|unitID}} = arg1, ... }
| |
| |arg2 = {{type|bool}} true
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetTeamColor
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 = {{type|number}} r
| |
| |arg3 = {{type|number}} g
| |
| |arg4 = {{type|number}} b
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = AssignMouseCursor
| |
| |arg1 = {{type|string}} cmdName
| |
| |arg2 = {{type|string}} iconFileName {{bracket}}
| |
| |arg3 = {{type|bool}} overwrite = true {{bracket}}
| |
| |arg4 = {{type|bool}} hotSpotTopLeft = false {{rbracket}}{rbracket}}
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} assigned
| |
| |info = Changes/creates the cursor of a single CursorCmd. Note, that iconFileName is not the full filename instead it is like this:<br/>Wanted filename: Anims/cursorattack_0.bmp<br/>=> iconFileName: cursorattack
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = ReplaceMouseCursor
| |
| |arg1 = {{type|string}} oldFileName
| |
| |arg2 = {{type|string}} newFileName {{bracket}}
| |
| |arg3 = {{type|bool}} hotSpotTopLeft = false {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} assigned
| |
| |info = Mass replace all occurrence of the cursor in all CursorCmds.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetCustomCommandDrawData
| |
| |arg1 = {{type|number}} cmdID
| |
| |arg2 = {{type|number}} cmdID_cloneIcon {{pipe}} {{type|string}} iconname
| |
| |arg3 = {{type|table}} RGBA = { {{type|number}} r, {{type|number}} g, {{type|number}} b, {{type|number}} a } {{bracket}}
| |
| |arg4 = {{type|bool}} showArea {{rbracket}}
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} assigned
| |
| |info = Register your custom cmd so it gets visible in the unit's cmd queue
| |
| }}
| |
| | |
| or
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetCustomCommandDrawData
| |
| |arg1 = {{type|number}} cmdID
| |
| |arg2 = {{type|nil}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} assigned
| |
| |info = Register your custom cmd so it gets visible in the unit's cmd queue
| |
| }}
| |
| | |
| = Sharing =
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetShareLevel
| |
| |arg1 = {{type|string}} metal {{pipe}} {{type|string}} energy
| |
| |arg2 = {{type|number}} shareLevel
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">LuaGadgets only!</font><br>Note: shareLevel is 0<= x <= 1 .
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = ShareResources
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 = {{type|string}} units
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">LuaGadgets only!</font>
| |
| }}
| |
| | |
| or
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = ShareResources
| |
| |arg1 = {{type|number}} teamID
| |
| |arg2 = {{type|string}} metal {{pipe}} {{type|string}} energy
| |
| |arg3 = {{type|number}} amount
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">LuaGadgets only!</font>
| |
| }}
| |
| | |
| = UnitDef RadarIcons & BuildPics =
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = AddUnitIcon
| |
| |arg1 = {{type|string}} iconName
| |
| |arg2 = {{type|string}} texFile {{bracket}}
| |
| |arg3 = {{type|number}} size {{bracket}}
| |
| |arg4 = {{type|number}} dist {{bracket}}
| |
| |arg5 = {{type|bool}} radAdjust {{rbracket}}{{rbracket}}{{rbracket}}
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} added
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = FreeUnitIcon
| |
| |arg1 = {{type|string}} iconName
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} freed
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetUnitDefIcon
| |
| |arg1 = {{type|number}} unitDefID
| |
| |arg2 = {{type|string}} iconName
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font><br>Sets radar icon.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetUnitDefImage
| |
| |arg1 = {{type|number}} unitDefID
| |
| |arg2 = {{type|string}} luaTexture {{pipe}} {{type|string}} texFile
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font><br>Sets buildpic.
| |
| }}
| |
| | |
| = Camera =
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetCameraState
| |
| |arg1 = {{type|table}} camState
| |
| |arg2 = {{type|number}} camTime
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} stateSet
| |
| |info = camState has the same format as the output of Spring.GetCameraState(). See [[Lua_camState]] for details about camState.<br>The camState's mode/name must fit the rest of the state. Getting a state, changing its mode/name and then passing it to SetCameraState will have undesired results. [https://springrts.com/mantis/view.php?id=5028#c15491] Also see #5028]
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetCameraTarget
| |
| |arg1 = {{type|number}} x, {{type|number}} y, {{type|number}} z {{bracket}}
| |
| |arg2 = {{type|number}} transTime {{rbracket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = For Spring Engine XZ represents horizontal, from north west corner of map and Y vertical, from water level and rising.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetCameraOffset
| |
| |arg1 = {{type|number}} px = 0 {{bracket}}
| |
| |arg2 = {{type|number}} py = 0 {{bracket}}
| |
| |arg3 = {{type|number}} pz = 0 {{bracket}}
| |
| |arg4 = {{type|number}} tx = 0 {{bracket}}
| |
| |arg5 = {{type|number}} ty = 0 {{bracket}}
| |
| |arg6 = {{type|number}} tz = 0 {{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}{{rbracket}}
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| = (Virtual-)FileSystem =
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = ExtractModArchiveFile
| |
| |arg1 = {{type|string}} modfile
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} extracted
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = CreateDir
| |
| |arg1 = {{type|string}} path
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}} {{pipe}} {{type|bool}} dirCreated
| |
| |info = <font color="maroon" style="font-weight:600">Needs ModUICtrl.</font>
| |
| }}
| |
| | |
| The full VFS API is available at [[Lua_VFS|link]].
| |
| | |
| = Engine Config =
| |
| | |
| The following functions read the engine configs saved in [[Springsettings.cfg]], a version-ed instance of these or a custom file supplied on the command line.
| |
| If ''*Overlay'' is ''true'', the value will only be set in memory, and not be restored for the next game.
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetConfigInt
| |
| |arg1 = {{type|string}} name
| |
| |arg2 = {{type|number}} value {{bracket}}
| |
| |arg3 = {{type|bool}} useOverlay = false {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetConfigFloat
| |
| |arg1 = {{type|string}} name
| |
| |arg2 = {{type|number}} value {{bracket}}
| |
| |arg3 = {{type|bool}} useOverlay = false {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|104.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetConfigString
| |
| |arg1 = {{type|string}} name
| |
| |arg2 = {{type|number}} value {{bracket}}
| |
| |arg3 = {{type|bool}} useOverlay = false {{rbracket}}
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|104.0}}
| |
| }}
| |
| | |
| = World Primitives =
| |
| <font color="red" style="font-weight:600">outdated! use opengl api instead!</font>
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = AddWorldIcon
| |
| |arg1 = {{type|number}} cmdID
| |
| |arg2 = {{type|number}} x, {{type|number}} y, {{type|number}} z
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = AddWorldText
| |
| |arg1 = {{type|string}} text
| |
| |arg2 = {{type|number}} x, {{type|number}} y, {{type|number}} z
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = AddWorldUnit
| |
| |arg1 = {{type|number}} unitDefID
| |
| |arg2 = {{type|number}} x, {{type|number}} y, {{type|number}} z
| |
| |arg3 = {{type|number}} team
| |
| |arg4 = {{type|number}} facing
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| = Sun =
| |
| The dynamic Sun must be invoked via /dynamicsun (Dynamic sun was removed in 104.0, use SetSunDirection, SetSunLighting & SetAtmosphere instead).
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetSunManualControl
| |
| |arg1 = {{type|bool}} setManualControl
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{removed|104.0}}
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetSunParameters
| |
| |arg1 = {{type|number}} dirX
| |
| |arg2 = {{type|number}} dirY
| |
| |arg3 = {{type|number}} dirZ
| |
| |arg4 = {{type|number}} dist
| |
| |arg5 = {{type|number}} startTime
| |
| |arg6 = {{type|number}} orbitTime
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{removed|104.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetSunDirection
| |
| |arg1 = {{type|number}} dirX
| |
| |arg2 = {{type|number}} dirY
| |
| |arg3 = {{type|number}} dirZ
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetSunLighting
| |
| |arg1 = {{type|table}} params
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|101.0}}<br>It can be used to modify the following sun lighting parameters:
| |
| }}
| |
| <pre> {ground,unit}{Ambient,Diffuse,Specular}Color and specularExponent
| |
| All Colourvalues have to in the Range from 0.0 to 1.0 for all colors and the alpha
| |
| Example usage: Spring.SetSunLighting({groundAmbientColor = {1, 0.1, 1}, groundDiffuseColor = {1, 0.1, 1} })</pre>
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetAtmosphere
| |
| |arg1 = {{type|table}} params
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|101.0}}<br>It can be used to modify the following atmosphere parameters:
| |
| }}
| |
| <pre> fog{Start,End}, {sun,sky,cloud}Color
| |
| Example usage: Spring.SetAtmosphere({ fogStart = 0, fogEnd = 0.5, fogColor = { 0.7, 0.2, 0.2, 1 }})</pre>
| |
| | |
| = Misc =
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = Reload
| |
| |arg1 = {{type|string}} startscript
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = -
| |
| |info = {{new|99.0}}<br>start-script is the CONTENT of the [[script.txt]] spring should use to start.
| |
| }}
| |
| | |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = Restart
| |
| |arg1 = {{type|string}} commandline_args
| |
| |arg2 = {{type|string}} startscript
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = -
| |
| |info = {{new|0.79}}<br>If this call returns, something went wrong.<br>''commandline_args'' are commandline arguments passed to spring executable.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = Start
| |
| |arg1 = {{type|string}} commandline_args
| |
| |arg2 = {{type|string}} startscript
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = -
| |
| |info = {{new|102.0}}<br>If this call returns, something went wrong.<br>Launches a new Spring instance without terminating the existing one.<br>start-script is the CONTENT of the [[script.txt]] spring should use to start (if empty, no start-script is added, you can still point spring to your custom script.txt when you add the file-path to ''commandline_args''.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetWMIcon
| |
| |arg1 = {{type|string}} iconFileName
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|83.0}}<br>Sets the icon for the process which is seen in the OS task-bar and other places (default: spring-logo).<br/>Note: has to be 24bit or 32bit.<br/>Note: on windows, it has to be 32x32 pixels in size (recommended for cross-platform)<br/>Note: ''*.bmp'' images have to be in BGR format (default for m$ ones).<br/>Note: ''*.ico'' images are not supported.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetWMCaption
| |
| |arg1 = {{type|string}} title {{bracket}}
| |
| |arg2 = {{type|string}} titleShort = title {{rbracket}}
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|83.0}}<br>Sets the window ''title'' for the process (default: "Spring <version>").<br>The ''shortTitle'' is displayed in the OS task-bar (default: "Spring <version>").<br>'''NOTE:''' ''shortTitle'' is only ever possibly used under X11 (Linux & OS X), but not with QT (KDE) and never under Windows. See [http://www.gpwiki.org/index.php/SDL:Tutorials:Initializing_SDL_Libraries#About_the_icon_.28.22Icon_Title.22.29_parameter_on_different_window-managers this site] for more details.
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = ClearWatchDogTimer
| |
| |arg1 = {{bracket}} {{type|string}} threadName = main {{rbracket}}
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|83.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetClipboard
| |
| |arg1 = {{type|string}} text
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|98.0}}
| |
| }}
| |
| | |
| = Rendering =
| |
| == Preload ==
| |
| Allow the engine to load the unit's model (and texture) in a background thread. Wreckages and buildOptions of a unit are automatically preloaded.
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = PreloadUnitDefModel
| |
| |arg1 = {{type|number}} unitDefID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{{new|101.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = PreloadFetureDefModel
| |
| |arg1 = {{type|number}} featureDefID
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{{new|101.0}}
| |
| }}
| |
| | |
| == Lighting ==
| |
| <font color="red" style="font-weight:600">NOTE: these (0.83+) lighting callouts only work when called from unsynced gadgets!</font>
| |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = AddMapLight
| |
| |arg1 = {{type|table}} lightParams
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} lightHandle
| |
| |info = (requires MaxDynamicMapLights > 0)
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = AddModelLight
| |
| |arg1 = {{type|table}} lightParams
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|number}} lightHandle
| |
| |info = (requires MaxDynamicMapLights > 0)
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = UpdateMapLight
| |
| |arg1 = {{type|number}} lightHandle
| |
| |arg2 = {{type|table}} lightParams
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} success
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = UpdateModelLight
| |
| |arg1 = {{type|number}} lightHandle
| |
| |arg2 = {{type|table}} lightParams
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} success
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetMapLightTrackingState
| |
| |arg1 = {{type|number}} lightHandle
| |
| |arg2 = {{type|number}} unitOrProjectileID
| |
| |arg3 = {{type|bool}} enableTracking
| |
| |arg4 = {{type|bool}} unitOrProjectile
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} success
| |
| |info =
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetModelLightTrackingState
| |
| |arg1 = {{type|number}} lightHandle
| |
| |arg2 = {{type|number}} unitOrProjectileID
| |
| |arg3 = {{type|bool}} enableTracking
| |
| |arg4 = {{type|bool}} unitOrProjectile
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} success
| |
| |info =
| |
| }}
| |
| | |
| | |
| '''lightParams''' is a table that should contain at least one of the following recognized key/value pairs:
| |
| | |
| lightParams = {
| |
| position = {px, py, pz},
| |
| direction = {dx, dy, dz},
| |
| ambientColor = {red, green, blue},
| |
| diffuseColor = {red, green, blue},
| |
| specularColor = {red, green, blue},
| |
| intensityWeight = {ambientWeight, diffuseWeight, specularWeight},
| |
| | |
| -- per-frame decay of ambientColor (spread over TTL frames)
| |
| ambientDecayRate = {ambientRedDecay, ambientGreenDecay, ambientBlueDecay},
| |
| -- per-frame decay of diffuseColor (spread over TTL frames)
| |
| diffuseDecayRate = {diffuseRedDecay, diffuseGreenDecay, diffuseBlueDecay},
| |
| -- per-frame decay of specularColor (spread over TTL frames)
| |
| specularDecayRate = {specularRedDecay, specularGreenDecay, specularBlueDecay},
| |
| -- *DecayType = 0.0 -> interpret *DecayRate values as linear, else as exponential
| |
| decayFunctionType = {ambientDecayType, diffuseDecayType, specularDecayType},
| |
| | |
| radius = number elmos,
| |
| fov = number degrees,
| |
| ttl = number frames,
| |
| priority = number,
| |
| ignoreLOS = boolean,
| |
| } | | } |
|
| |
|
| = Map =
| | '''gl.GetUniformLocation''' |
| | | ( number shaderID, name uniformName ) -> number locationID |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetSkyBoxTexture
| |
| |arg1 = {{type|string}} texName
| |
| |arg2 =
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{new|101.0}}
| |
| }}
| |
| | |
| | |
| {{LuaCallout
| |
| |prefix = Spring.
| |
| |name = SetMapShadingTexture
| |
| |arg1 = {{type|string}} texType
| |
| |arg2 = {{type|string}} texName
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} success
| |
| |info = {{new|101.0}}
| |
| }}
| |
| | |
| <div class="note">Example usage: Spring.SetMapShadingTexture("$ssmf_specular", "name_of_my_shiny_texture")</div>
| |
|
| |
|
| {{LuaCallout
| | '''gl.Uniform''' |
| |prefix = Spring.
| | ( number locationID, number f1 [,number f2 [,number f3 [,number f4]]] ) -> nil |
| |name = SetMapSquareTexture
| |
| |arg1 = {{type|number}} texSqrX
| |
| |arg2 = {{type|number}} texSqrY
| |
| |arg3 = {{type|string}} luaTexName
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|bool}} success
| |
| |info =
| |
| }}
| |
|
| |
|
| | '''gl.UniformInt''' |
| | ( number locationID, number int1 [,number int2 [,number int3 [,number int4]]] ) -> nil |
|
| |
|
| {{LuaCallout | | '''gl.UniformArray''' {{new|95.0}} |
| |prefix = Spring. | | ( number locationID, number type, table uniforms ) -> nil |
| |name = SetMapShader
| | <span class="note">type can be one of {1 = int, 2 = float, 3 = float matrix}. In 104.0 the maximum length of the uniforms table increased from 32 entries to 1024.</span> |
| |arg1 = {{type|number}} standardShaderID
| |
| |arg2 = {{type|number}} deferredShaderID
| |
| |arg3 =
| |
| |arg4 =
| |
| |arg5 =
| |
| |arg6 =
| |
| |arg7 =
| |
| |arg8 =
| |
| |arg9 =
| |
| |return = {{type|nil}}
| |
| |info = {{101.0}}
| |
| }}
| |
|
| |
|
| <div class="note">The ID's must refer to valid programs returned by gl.CreateShader. Passing in a value of 0 will cause the respective shader to revert back to its engine default. Custom map shaders that declare a uniform ivec2 named "texSquare" can sample from the default diffuse texture(s), which are always bound to TU 0.</div>
| | '''gl.UniformMatrix''' |
| | ( number locationID, |
| | "shadow" | |
| | "camera" | |
| | "caminv" | |
| | "camprj" | |
| | number m1, number m2, number m3, number m4 | |
| | number m1, ... , number m9 | |
| | number m1, ... , number m16 |
| | ) -> nil |
|
| |
|
| [[category: Lua]] | | [[category: Lua]] |