summaryrefslogtreecommitdiff
path: root/indra/newview
AgeCommit message (Collapse)Author
2024-09-20Fix trailing spaces.Nat Goodspeed
2024-09-20Merge branch 'release/luau-scripting' into lua-script-argsNat Goodspeed
2024-09-20Add ability to pass command-line arguments to a Lua script.Nat Goodspeed
Introduce `ScriptCommand` class that parses a command line into a script name and optional args, using bash-like quoting and escaping. `ScriptCommand` searches for a file with that script name on a passed list of directories; the directories may be specified relative to a particular base directory. `ScriptCommand` supports the special case of a script name containing unescaped spaces. It guarantees that either the returned script file exists, or its `error()` string is non-empty. Replace `LLLeap::create()` logic, from which `ScriptCommand` was partly derived, with a `ScriptCommand` instance. Make `LLLUAmanager::runScriptFile()` use a `ScriptCommand` instance to parse the passed command line. Subsume `LLAppViewer::init()` script-path-searching logic for `--luafile` into `ScriptCommand`. In fact that lambda now simply calls `LLLUAmanager::runScriptFile()`. Make `lluau::dostring()` accept an optional vector of script argument strings. Following PUC-Rio Lua convention, pass these arguments into a Lua script as the predefined global `arg`, and also as the script's `...` argument. `LuaState::expr()` also accepts and passes through script argument strings. Change the log tag for the Lua script interruption message: if we want it, we can still enable it, but we don't necessarily want it along with all other "Lua" DEBUG messages. Remove `LuaState::script_finished_fn`, which isn't used any more. Also remove the corresponding `LLLUAmanager::script_finished_fn`. This allows us to simplify `~LuaState()` slightly, as well as the parameter signatures for `LLLUAmanager::runScriptFile()` and `runScriptLine()`.
2024-09-19Make login.lua enhance plain grid='agni' to required form.Nat Goodspeed
2024-09-16Add LLFloaterAbout info (esp. GPU info) to Frame Profile stats dumpNat Goodspeed
With the About info added, `getProfileStatsContext()` need not redundantly add `"channel"`, `"version"` or `"region"`. Slightly improve the efficiency of `LlsdToJson()` and `LlsdFromJson()` by preallocating the known size of the source array or map. (Unfortunately the C++ `LLSD` class offers us no way to preallocate a map.) In `LLAppViewer::getViewerInfo()`, avoid immediate successive calls to `gAgent.getRegion()`.
2024-09-16WIP: edits in support of Lua script argsNat Goodspeed
2024-09-16Merge branch 'release/luau-scripting' into lua-profile-cmpNat Goodspeed
2024-09-13Remove autorun 'menus.lua' since menu_viewer.xml handles visibilityNat Goodspeed
2024-09-13Merge branch 'release/luau-scripting' into lua-profile-cmpNat Goodspeed
2024-09-13Add context info to Develop->Render Tests->Frame Profile stats file.Nat Goodspeed
Specifically, add the viewer version, the machine ID, the grid, the region name and ID, the parcel name and ID and the timestamp. This is both richer and less fragile than trying to extract that information from the generated filename: e.g. we now have region and parcel names. Instead of making `LLGLSLShader::finishProfile()` mess with file I/O, pass it a reference to a `boost::json::value` to be filled in with statistics, if it's a `boost::json::object`. Otherwise it's `boost::json::null`, meaning no report. Make llviewerdisplay.cpp's `display()` function instantiate a `boost::json::value` to pass to `finishProfile()`. That lets llviewerdisplay.cpp also set the `"context"` entry, with a new `getProfileStatsContext()` function quite similar to `getProfileStatsFilename()`.
2024-09-13Restore LUA debug consoles in viewer menu and tie visibility to feature flagAnsariel
2024-09-13Merge PR#2515 Fix remaining occurrences of fake BOOL by AnsarielAndrey Kleshchev
2024-09-13Merge pull request #2548 from secondlife/lua-frame-profilenat-goodspeed
Make Develop->Render Tests->Frame Profile dump JSON to a file too (#2412)
2024-09-12Merge branch 'develop' into release/luau-scriptingNat Goodspeed
2024-09-12#2166 Avatar does not move its lips when the corresponding checkbox is checkedAlexander Gavriliuk
2024-09-12Add frame_profile.lua to TP to known spot and take frame profile.Nat Goodspeed
frame_profile.lua teleports home when done. Further add frame_profile bash script to run the specified viewer, automatically log into said known spot, take frame profile and quit. The frame_profile bash script runs frame_profile_quit.lua. frame_profile_quit.lua is derived from frame_profile.lua, but different: it doesn't teleport either way because it assumes autologin to the target location, and because it logs out instead of returning home.
2024-09-12Mediate "LLAppViewer" "userQuit" et al. via "mainloop" WorkQueue.Nat Goodspeed
Empirically, this works better than engaging the respective LLAppViewer methods directly.
2024-09-12Let test_animation.lua cope with the case of 0 animations.Nat Goodspeed
2024-09-12Merge pull request #2543 from secondlife/roxie/webrtc-285Roxanne Skelly
mute icons were not showing during group call when user was muted
2024-09-12Support "LLTeleportHandler" "teleport" regionname="home".Nat Goodspeed
2024-09-12Replace glh_linear usage with GLM (#2554)Rye Mutt
2024-09-12Don't allow LLAttachmentsMgr to iterate COF items when there is no ↵Maxim Nikolenko
questionable links there
2024-09-12Recursively package all of indra/newview/scripts/lua.Nat Goodspeed
Instead of trying to continue mirroring the lua subdirectory structure in viewer_manifest.py, and enumerating the relevant file extensions, just pack up the whole subtree.
2024-09-12Add LLAgent.teleport() Lua functionNat Goodspeed
that wraps existing "LLTeleportHandler" LEAP listener.
2024-09-12Populate the viewer package's lua/auto subdir as well as require.Nat Goodspeed
2024-09-12#2542 Buoyant NametagsAlexander Gavriliuk
2024-09-11Merge pull request #2551 from secondlife/roxie/webrtc-1436Roxanne Skelly
Fix issue with improper reporting as to whether voice is working.
2024-09-12Fix incorrect operator warning and possible dereferencing of null pointer ↵Ansariel Hiller
(#2546)
2024-09-11Fix issue with improper reporting as to whether voice is working.Roxie Linden
This fixes #1436, an issue where the 'call button' sometimes got greyed out when it shouldn't have been. Vivox is now 'working' (and the call button can be enabled) when it's logged in. WebRTC is 'working' (and the call button can be enabled) when the coroutine is active.
2024-09-11Make Develop->Render Tests->Frame Profile dump JSON to a file too.Nat Goodspeed
Make `LLGLSLShader::finishProfile()` accept a string pathname instead of a bool and, in addition to logging statistics to the viewer log, output statistics to that file as JSON. The calls that used to pass `emit_report=false` now pass `report_name=std::string()`. Make llviewerdisplay.cpp's `display()` function synthesize a profile filename in the viewer's logs directory, and pass that filename to `LLGLSLShader::finishProfile()`.
2024-09-10Merge pull request #2544 from secondlife/davep-profile-session-9/10cosmic-linden
Profile guided optimizations
2024-09-10Profile guided optimizationsRunitaiLinden
2024-09-10Merge remote-tracking branch 'origin/release/2024.08-DeltaFPS' into developBrad Linden
2024-09-10mute icons were not showing during group call when user was mutedRoxie Linden
This fixes: https://github.com/secondlife/viewer-private/issues/285 When processing messages from the voice server, the volume and not the mute status was being checked with respect to retrieving the mute status.
2024-09-10Fix risky signature of `wchar_to_utf8chars()`. Add `ll_convert()` alias.Nat Goodspeed
`wchar_to_utf8chars()` used to require a `char*` output buffer with no length, assuming that its caller knew enough to provide a buffer of sufficient length. In fact a `char[8]` buffer suffices, but nothing in the header indicated that. Eliminate the output parameter and return `std::string`. Fix the few existing callers. Also set an `ll_convert_alias` so that `ll_convert_to<std::string>(llwchar)` directly calls `wchar_to_utf8chars()`. Replace instances of the workaround `wstring_to_utf8str(LLWString(1, llwchar))`.
2024-09-10#2460 Max-Non-Impostors uses a bad shape (code formatting)Alexander Gavriliuk
2024-09-10#2460 Max-Non-Impostors uses a bad shapeAlexander Gavriliuk
2024-09-10#2434 Intel HD4000 compatibility pass (#2541)Dave Parks
* #2434 Intel HD4000 compatibility pass * Fixes crash on old drivers when loading shaders * Fixes 30 second hang on startup * Fixes occasional dev build crash in LLWearableList --------- Co-authored-by: Brad Linden <brad@lindenlab.com>
2024-09-10Pass std::string_view by value, not by const reference.Nat Goodspeed
Consensus seems to be that (a) string_view is, in effect, already a reference, (b) it's small enough to make pass-by-value reasonable and (c) the optimizer can reason about values way better than it can about references.
2024-09-10Merge pull request #2536 from Ansariel/develop-viewermenu-cleanupnat-goodspeed
Clean up llviewermenu
2024-09-10Allow the in world voice indicator to be toggled in preferencesMnikolenko Productengine
2024-09-10Fix a couple errors from merging in new code.Nat Goodspeed
2024-09-10Clean up llviewermenuAnsariel
2024-09-09Voice bars of self and as seen by others do not appear the same.Roxie Linden
The voice server sends up the float power level of peers as an integer multiplied by 128, in order to save character count as the voice power level will likely be only 3 digits, instead of many for a full float. The client was not taking this into account.
2024-09-09Merge branch 'develop' into release/luau-scriptingNat Goodspeed
2024-09-09Callback button for groups was not being reenabled after hanging up on group ↵Roxie Linden
call. For #2532, callback button was remaining disabled after hanging up on a group call. Also, fix an issue where user was automatically added to a group call after the initiator of the group call hangs up and re-calls the group.
2024-09-09Merge pull request #2530 from secondlife/release/2024.08-DeltaFPSBrad Linden
Release/2024.08 delta fps
2024-09-09Merge pull request #2527 from secondlife/maxim/viewer_2473Maxim Nikolenko
Reduce 'World map' floater draw time
2024-09-09Reduce 'World map' floater draw timeMnikolenko Productengine
2024-09-09Fix spelling error in variable name (#2526)Kyler "Félix" Eastridge