summaryrefslogtreecommitdiff
path: root/indra/newview/scripts
diff options
context:
space:
mode:
authornat-goodspeed <nat@lindenlab.com>2024-09-23 12:37:15 -0400
committerGitHub <noreply@github.com>2024-09-23 12:37:15 -0400
commit9289b96de48e0a3f57819ca173c5d5d51ad25c56 (patch)
tree510d0b10c3f9b7c74edce7be324a5931c1d736ca /indra/newview/scripts
parent4af7cd51e9cc22d9dc2fe42e378051c55515ac8e (diff)
parent34e89de9f9325aed3b06d1658888e973e19a17fc (diff)
Merge pull request #2635 from secondlife/lua-script-args
Add ability to pass command-line arguments to a Lua script.
Diffstat (limited to 'indra/newview/scripts')
-rw-r--r--indra/newview/scripts/lua/frame_profile_quit.lua17
-rw-r--r--indra/newview/scripts/lua/require/login.lua11
2 files changed, 23 insertions, 5 deletions
diff --git a/indra/newview/scripts/lua/frame_profile_quit.lua b/indra/newview/scripts/lua/frame_profile_quit.lua
index e3177a3f67..ad136c86d2 100644
--- a/indra/newview/scripts/lua/frame_profile_quit.lua
+++ b/indra/newview/scripts/lua/frame_profile_quit.lua
@@ -1,5 +1,11 @@
-- Trigger Develop -> Render Tests -> Frame Profile and quit
+assert(arg.n == 3, 'Usage: frame_profile_quit.lua x y z (for camera focus)')
+-- Try coercing string arguments to numbers, using Lua's implicit conversion.
+-- If the args passed as x, y, z won't convert nicely to numbers, better find
+-- out now.
+focus = {arg[1]+0, arg[2]+0, arg[3]+0}
+
LLAgent = require 'LLAgent'
logout = require 'logout'
startup = require 'startup'
@@ -8,11 +14,14 @@ UI = require 'UI'
startup.wait('STATE_STARTED')
--- Assume we logged into http://maps.secondlife.com/secondlife/Bug%20Island/220/224/27
--- (see frame_profile bash script)
+-- Figure out where we are
+camera = LLAgent.getRegionPosition()
+-- assume z is the agent's feet, add 2 meters
+camera[2] += 2
+
Timer(10, 'wait')
-LLAgent.setCamera{camera_pos={220, 224, 26}, camera_locked=true,
- focus_pos ={228, 232, 26}, focus_locked=true}
+LLAgent.setCamera{camera_pos=camera, camera_locked=true,
+ focus_pos=focus, focus_locked=true}
Timer(1, 'wait')
-- This freezes the viewer for perceptible realtime
UI.popup:tip('starting Render Tests -> Frame Profile')
diff --git a/indra/newview/scripts/lua/require/login.lua b/indra/newview/scripts/lua/require/login.lua
index 919434f3a5..37c9093a21 100644
--- a/indra/newview/scripts/lua/require/login.lua
+++ b/indra/newview/scripts/lua/require/login.lua
@@ -18,16 +18,25 @@ local function ensure_login_state(op)
end
end
+local function fullgrid(grid)
+ if string.find(grid, '.', 1, true) then
+ return grid
+ else
+ return `util.{grid}.secondlife.com`
+ end
+end
+
function login.login(...)
ensure_login_state('login')
local args = mapargs('username,grid,slurl', ...)
args.op = 'login'
+ args.grid = fullgrid(args.grid)
return leap.request('LLPanelLogin', args)
end
function login.savedLogins(grid)
ensure_login_state('savedLogins')
- return leap.request('LLPanelLogin', {op='savedLogins', grid=grid})['logins']
+ return leap.request('LLPanelLogin', {op='savedLogins', grid=fullgrid(grid)})['logins']
end
return login