Lua UnsyncedRead: Difference between revisions

From Spring
Jump to navigationJump to search
Argh (talk | contribs)
m Font colors, 2 (used #55ee99)
Jk (talk | contribs)
77b (not finished)
Line 76: Line 76:
'''Spring.GetMapDrawMode'''
'''Spring.GetMapDrawMode'''
   ( ) -> nil | "normal" | "height" | "metal" | "path" | "los"
   ( ) -> nil | "normal" | "height" | "metal" | "path" | "los"
== Unit GUI States ==
'''Spring.GetUnitLuaDraw'''
  ( number unitID ) -> nil | boolean
'''Spring.GetUnitNoDraw'''
  ( number unitID ) -> nil | boolean
'''Spring.GetUnitNoMinimap'''
  ( number unitID ) -> nil | boolean
'''Spring.GetUnitNoSelect'''
  ( number unitID ) -> nil | boolean
== Sound ==
'''Spring.GetSoundStreamTime'''
  ( ) -> number playedTime, number totalTime


== Camera ==
== Camera ==
Line 108: Line 122:
'''Spring.IsSphereInView'''
'''Spring.IsSphereInView'''
   ( number x, number y, number z [, number radius ] ) -> nil | boolean
   ( number x, number y, number z [, number radius ] ) -> nil | boolean
'''Spring.IsUnitIcon'''
  ( number unitID ) -> nil | boolean
'''Spring.IsUnitInView'''
'''Spring.IsUnitInView'''
   ( number unitID ) -> nil | boolean
   ( number unitID ) -> nil | boolean
Line 122: Line 138:
     string "feature", number featureID |
     string "feature", number featureID |
     string "ground",  { [1] = number x, [2] = number y, [3] = number z }
     string "ground",  { [1] = number x, [2] = number y, [3] = number z }
== Screen & Window Geometry ==
'''Spring.GetViewGeometry'''
  ( ) -> number viewSizeX, number viewSizeY, number viewPosX, number viewPosY
'''Spring.GetWindowGeometry'''
  ( ) -> number winSizeX, number winSizeY, number winPosX, number winPosY
'''Spring.GetScreenGeometry''' (misses multiscreen support!)
  ( ) -> number screenSizeX, number screenSizeY, number ZERO, number ZERO
== Minimap ==
'''Spring.GetMiniMapGeometry'''
  ( ) -> number posX, number posY, number sizeX, number sizeY, boolean minimized, boolean maximized
'''Spring.GetMiniMapDualScreen'''
  ( ) -> boolean false | string "left" | string "right"
'''Spring.IsAboveMiniMap'''
  ( ) -> nil | boolean
== DrawFrame ==
'''Spring.GetFPS'''
  ( ) -> number
'''Spring.GetDrawFrame'''
  ( ) -> number low 16bit, number high 16bit


== Time ==
== Time ==
Line 134: Line 172:
'''Spring.DiffTimers'''
'''Spring.DiffTimers'''
   ( timer1, timer2 ) -> number seconds
   ( timer1, timer2 ) -> number seconds
== ModUI ==
'''Spring.GetModUICtrl'''
  ( ) -> boolean
== GUI Commands ==
'''Spring.GetActiveCommand'''
  ( ) -> nil | number index (, number cmd_id, number cmd_type, string cmd_name)
'''Spring.GetDefaultCommand'''
  ( ) -> nil | number index (, number cmd_id, number cmd_type, string cmd_name)
'''Spring.GetActiveCmdDescs'''
  ( ) -> nil | {
    [1] = {
      id=number,
      type=number,
      name=string,
      action=string,
      tooltip=string,
      texture=string,
      cursor=string,
      hidden=boolean,
      disabled=boolean,
      showUnique=boolean,
      onlyTexture=boolean,
      params = { [1] = string, .. }
    }, ...
  }
'''Spring.GetActiveCmdDesc'''
  ( ) -> nil | {
      id=number,
      type=number,
      name=string,
      action=string,
      tooltip=string,
      texture=string,
      cursor=string,
      hidden=boolean,
      disabled=boolean,
      showUnique=boolean,
      onlyTexture=boolean,
      params = { [1] = string, .. }
  }
'''Spring.GetCmdDescIndex'''
  ( ) -> nil | number index
'''Spring.GetActivePage'''
  ( ) -> nil | number pageNum, number maxPages
== Build Facing ==
'''Spring.GetBuildFacing'''
  ( ) -> nil | number
'''Spring.GetBuildSpacing'''
  ( ) -> nil | number
'''Spring.GetGatherMode'''
  ( ) -> nil | number
'''Spring.GetMouseState'''
'''Spring.GetMouseCursor'''
'''Spring.GetMouseStartPosition'''
'''Spring.GetKeyState'''
'''Spring.GetModKeyState'''
'''Spring.GetPressedKeys'''
'''Spring.GetInvertQueueKey'''
'''Spring.GetKeyCode'''
'''Spring.GetKeySymbol'''
'''Spring.GetKeyBindings'''
'''Spring.GetActionHotKeys'''
'''Spring.GetLastMessagePositions'''
'''Spring.GetConsoleBuffer'''
'''Spring.GetCurrentTooltip'''
'''Spring.GetMyAllyTeamID'''
'''Spring.GetMyTeamID'''
'''Spring.GetMyPlayerID'''
'''Spring.GetGroupList'''
'''Spring.GetSelectedGroup'''
'''Spring.GetGroupAIName'''
'''Spring.GetGroupAIList'''
'''Spring.GetUnitGroup'''
'''Spring.GetGroupUnits'''
'''Spring.GetGroupUnitsSorted'''
'''Spring.GetGroupUnitsCounts'''
'''Spring.GetGroupUnitsCount'''
'''Spring.GetPlayerTraffic'''
'''Spring.GetDrawSelectionInfo'''

Revision as of 04:05, 29 December 2008

Replay/Spectating

Spring.IsReplay

 ( ) -> nil | boolean

Spring.GetSpectatingState

 ( ) -> boolean spectating, boolean fullView, boolean fullSelect

Unit

Spring.IsUnitAllied

 ( number unitID ) -> nil | boolean

Spring.GetUnitViewPosition

 ( number unitID [, boolean extrapolated ] ) -> nil | boolean

Team/Player Info

Spring.GetPlayerRoster

 ( [number sortType] ) ->
   nil | playerTable = {
           [1] = {
             string  name,
             number  playerID,
             number  teamID,
             number  allyTeamID,
             boolean spectator,
             numebr  cpuUsage,
             number  pingTime
           },
           etc...
         }
   Sort codes:
    1 = Sort by allies  (the default)
    2 = Sort by teamID
    3 = Sort by playerName
    4 = Sort by CPU usage
    5 = Sort by ping time

Spring.GetTeamColor

 ( number teamID ) -> nil | number r, number g, number b,  number a

Spring.GetTeamOrigColor

 ( number teamID ) -> nil | number r, number g, number b,  number a

Local Player,Team,Ally

Spring.GetLocalPlayerID

 ( ) -> number playerID

Spring.GetLocalTeamID

 ( ) -> number teamID

Spring.GetLocalAllyTeamID

 ( ) -> number allyID

Selected Units

Spring.GetSelectedUnits

 ( ) -> { [1] = unitID, ... }

Spring.GetSelectedUnitsSorted

 ( ) -> { [number unitDefID] = { [1] = [number unitID], etc...}, ... }

Spring.GetSelectedUnitsCounts

 ( ) -> { [number unitDefID] = number count, etc... }

Spring.GetSelectedUnitsCount

 ( ) -> number count

Spring.IsUnitSelected

 ( number unitID ) -> nil | boolean

GUI Settings

Spring.IsGUIHidden

 ( ) -> nil | boolean

Spring.HaveShadows

 ( ) -> nil | boolean

Spring.HaveAdvShading

 ( ) -> nil | boolean

Spring.GetWaterMode

 ( ) -> nil | number mode, string "mode"
   mode numbers:
     0 - basic
     1 - reflective
     2 - dynamic
     3 - refractive
     default - unknown

Spring.GetMapDrawMode

 ( ) -> nil | "normal" | "height" | "metal" | "path" | "los"

Unit GUI States

Spring.GetUnitLuaDraw

 ( number unitID ) -> nil | boolean

Spring.GetUnitNoDraw

 ( number unitID ) -> nil | boolean

Spring.GetUnitNoMinimap

 ( number unitID ) -> nil | boolean

Spring.GetUnitNoSelect

 ( number unitID ) -> nil | boolean

Sound

Spring.GetSoundStreamTime

 ( ) -> number playedTime, number totalTime

Camera

Spring.GetCameraNames

 ( ) -> { [camName] = number camNum, ... }

Spring.GetCameraState

 ( ) -> { "mode" = number, "name" = string, [1] = number, [2] = number, ... }

Spring.GetCameraPosition

 ( ) -> number x, number y, number z

Spring.GetCameraDirection

 ( ) -> number forward_x, number forward_y, number forward_z

Spring.GetCameraFOV

 ( ) -> number fov

Spring.GetCameraVectors

 ( ) -> vectorTable = {
   forward   = { [1] = number x, [2] = number y, [3] = number z },
   up        = { [1] = number x, [2] = number y, [3] = number z },
   right     = { [1] = number x, [2] = number y, [3] = number z },
   top       = { [1] = number x, [2] = number y, [3] = number z },
   bottom    = { [1] = number x, [2] = number y, [3] = number z },
   leftside  = { [1] = number x, [2] = number y, [3] = number z },
   rightside = { [1] = number x, [2] = number y, [3] = number z }
 }

Inview

Spring.GetVisibleUnits

 ( [number teamID = -1 [, number radius = 30 [, boolean Icons ]]] )
   -> nil | unitTable = { [1] = number unitID, ... }

Spring.IsAABBInView

 ( number minX, number minY, number minZ,
   number maxX, number maxY, number maxZ ) -> nil | boolean

Spring.IsSphereInView

 ( number x, number y, number z [, number radius ] ) -> nil | boolean

Spring.IsUnitIcon

 ( number unitID ) -> nil | boolean

Spring.IsUnitInView

 ( number unitID ) -> nil | boolean

Spring.IsUnitVisible

 ( number unitID [, number radius ] ) -> nil | boolean

Screen Trace

Spring.WorldToScreenCoords

 ( number x, number y, number z ) -> number x, number y, number z

Spring.TraceScreenRay

 ( number mouseX, number mouseY[, boolean onlyCoords] )
   -> nil |
   string "unit",    number unitID    |
   string "feature", number featureID |
   string "ground",  { [1] = number x, [2] = number y, [3] = number z }

Screen & Window Geometry

Spring.GetViewGeometry

 ( ) -> number viewSizeX, number viewSizeY, number viewPosX, number viewPosY

Spring.GetWindowGeometry

 ( ) -> number winSizeX, number winSizeY, number winPosX, number winPosY

Spring.GetScreenGeometry (misses multiscreen support!)

 ( ) -> number screenSizeX, number screenSizeY, number ZERO, number ZERO

Minimap

Spring.GetMiniMapGeometry

 ( ) -> number posX, number posY, number sizeX, number sizeY, boolean minimized, boolean maximized

Spring.GetMiniMapDualScreen

 ( ) -> boolean false | string "left" | string "right"

Spring.IsAboveMiniMap

 ( ) -> nil | boolean

DrawFrame

Spring.GetFPS

 ( ) -> number

Spring.GetDrawFrame

 ( ) -> number low 16bit, number high 16bit

Time

Spring.GetFrameTimeOffset

 ( ) -> nil | number

Spring.GetLastUpdateSeconds

 ( ) -> nil | number

Spring.GetHasLag

 ( ) -> boolean

Spring.GetTimer

 ( ) -> timer

Spring.DiffTimers

 ( timer1, timer2 ) -> number seconds


ModUI

Spring.GetModUICtrl

 ( ) -> boolean

GUI Commands

Spring.GetActiveCommand

 ( ) -> nil | number index (, number cmd_id, number cmd_type, string cmd_name)

Spring.GetDefaultCommand

 ( ) -> nil | number index (, number cmd_id, number cmd_type, string cmd_name)

Spring.GetActiveCmdDescs

 ( ) -> nil | {
   [1] = {
     id=number,
     type=number,
     name=string,
     action=string,
     tooltip=string,
     texture=string,
     cursor=string,
     hidden=boolean,
     disabled=boolean,
     showUnique=boolean,
     onlyTexture=boolean,
     params = { [1] = string, .. }
   }, ...
 }

Spring.GetActiveCmdDesc

 ( ) -> nil | {
     id=number,
     type=number,
     name=string,
     action=string,
     tooltip=string,
     texture=string,
     cursor=string,
     hidden=boolean,
     disabled=boolean,
     showUnique=boolean,
     onlyTexture=boolean,
     params = { [1] = string, .. }
 }

Spring.GetCmdDescIndex

 ( ) -> nil | number index

Spring.GetActivePage

 ( ) -> nil | number pageNum, number maxPages

Build Facing

Spring.GetBuildFacing

 ( ) -> nil | number

Spring.GetBuildSpacing

 ( ) -> nil | number


Spring.GetGatherMode

 ( ) -> nil | number


Spring.GetMouseState Spring.GetMouseCursor Spring.GetMouseStartPosition

Spring.GetKeyState Spring.GetModKeyState Spring.GetPressedKeys Spring.GetInvertQueueKey

Spring.GetKeyCode Spring.GetKeySymbol Spring.GetKeyBindings Spring.GetActionHotKeys

Spring.GetLastMessagePositions

Spring.GetConsoleBuffer Spring.GetCurrentTooltip

Spring.GetMyAllyTeamID Spring.GetMyTeamID Spring.GetMyPlayerID

Spring.GetGroupList Spring.GetSelectedGroup Spring.GetGroupAIName Spring.GetGroupAIList

Spring.GetUnitGroup

Spring.GetGroupUnits Spring.GetGroupUnitsSorted Spring.GetGroupUnitsCounts Spring.GetGroupUnitsCount

Spring.GetPlayerTraffic

Spring.GetDrawSelectionInfo