summaryrefslogtreecommitdiff
path: root/indra/newview
AgeCommit message (Collapse)Author
2024-06-10Increment viewer version to 7.1.9Nat Goodspeed
following promotion of secondlife/viewer #648: Release/materials featurette
2024-06-10Merge branch 'release/luau-scripting' into lua-ui-callbacksMnikolenko Productengine
2024-06-10another batch of changes to use ScopedRegistrarHelperMnikolenko Productengine
2024-06-10Remove SharedCommitCallbackRegistry; add helpers CommitRegistrarHelper and ↵Mnikolenko Productengine
ScopedRegistrarHelper
2024-06-07Introduce mapargs.lua, which defines the mapargs() function.Nat Goodspeed
There are two conventions for Lua function calls. You can call a function with positional arguments as usual: f(1, 2, 3) Lua makes it easy to handle omitted positional arguments: their values are nil. But as in C++, positional arguments get harder to read when there are many, or when you want to omit arguments other than the last ones. Alternatively, using Lua syntactic sugar, you can pass a single argument which is a table containing the desired function arguments. For this you can use table constructor syntax to effect keyword arguments: f{a=1, b=2, c=3} A call passing keyword arguments is more readable because you explicitly associate the parameter name with each argument value. Moreover, it gracefully handles the case of multiple optional arguments. The reader need not be concerned about parameters *not* being passed. Now you're coding a Lua module with a number of functions. Some have numerous or complicated arguments; some do not. For simplicity, you code the simple functions to accept positional arguments, the more complicated functions to accept the single-table argument style. But how the bleep is a consumer of your module supposed to remember which calling style to use for a given function? mapargs() blurs the distinction, accepting either style. Coding a function like this (where '...' is literal code, not documentation ellipsis): function f(...) local args = mapargs({'a', 'b', 'c'}, ...) -- now use args.a, args.b, args.c end supports calls like: f(1, 2, 3) f{1, 2, 3} f{c=3, a=1, b=2} f{1, 2, c=3} f{c=3, 1, 2} -- unlike Python! In every call above, args.a == 1, args.b == 2, args.c == 3. Moreover, omitting arguments (or explicitly passing nil, positionally or by keyword) works correctly. test_mapargs.lua exercises these cases.
2024-06-04#989 Fix for blurry terrain on Mac (#1633)Brad Linden
Co-authored-by: Dave Parks <davep@lindenlab.com>
2024-06-04 #1628 Disable spherical mirror probes for the time being. (#1631)Jonathan "Geenz" Goodman
2024-06-04#1614 Fix for moire pattern in specular highlights. Incidental cleanup.RunitaiLinden
2024-06-04Comment the intent of test_timers.luaNat Goodspeed
so the user need not reverse-engineer the code to figure out the output.
2024-06-03Leverage new leap.eventstream() function in Floater.lua.Nat Goodspeed
2024-05-31Add timers.lua API module and test_timers.lua test program.Nat Goodspeed
Since timers presents a timers.Timer Lua class supporting queries and cancellation, make TimersListener::scheduleAfter() and scheduleEvery() respond immediately so the newly constructed Timer object has the reqid necessary to perform those subsequent operations. This requires that Lua invocations of these operations avoid calling the caller's callback with that initial response. Reinvent leap.generate() to return a Lua object supporting next() and done() methods. A plain Lua coroutine that (indirectly) calls fiber.wait() confuses the fiber scheduler, so avoid implementing generate() as a Lua coroutine. Add a bit more leap.lua diagnostic output.
2024-05-31Tweak for current Lua dbg() convention.Nat Goodspeed
2024-05-31Cherry-pick leap.lua changes; other clean upMnikolenko Productengine
2024-05-31Add leap.eventstream() and cancelreq() functions.Nat Goodspeed
leap.eventstream() is used when we expect the viewer's LLEventAPI to send an immediate first response with the reqid from the request, followed by some number of subsequent responses bearing the same reqid. The difference between eventstream() and generate() is that generate() expects the caller to request each such response, whereas eventstream calls the caller's callback with each response. cancelreq() is for canceling the background fiber launched by eventstream() before the callback tells it to quit. Make WaitFor:close() remove the object from the waitfors list; similarly, make WaitForReqid:close() remove the object from the pending list. For this reason, cleanup() must iterate over a copy of each of the pending and waitfors lists. Instead of unregisterWaitFor() manually searching the waitfors list, use table.find().
2024-05-31Add a bit more dbg() conditional diagnostic output.Nat Goodspeed
2024-05-31Don't check if printf(format) arg is a string.Nat Goodspeed
2024-05-30Add separate minor throttle period for UNTRUSTED_ALLOW funcsMnikolenko Productengine
2024-05-30Merge branch release/luau-scriptingMnikolenko Productengine
2024-05-29 #1581 Only render mirrors when reflection probes are enabled. (#1592)Jonathan "Geenz" Goodman
2024-05-28Improvements to mirror probe update rates (#1570)Jonathan "Geenz" Goodman
#1494 Fix for mirror updates getting "stuck" on some faces.
2024-05-28secondlife/viewer#1531: Attempt to fix PBR terrain fragment shader.Cosmic Linden
2024-05-24Merge branch 'release/luau-scripting' into lua-timersNat Goodspeed
2024-05-24Fix merge glitchesNat Goodspeed
2024-05-24Merge branch 'release/luau-scripting' into lua-chatplusNat Goodspeed
2024-05-24Nat's ideas from PR #1547Nat Goodspeed
2024-05-24Mark script messages in compact mode too; code clean upMnikolenko Productengine
2024-05-23Remove commented-out methods in a couple LLEventTimer subclasses.Nat Goodspeed
2024-05-23More vestigial whitespace fixesNat Goodspeed
2024-05-23mac build fixMaxim Nikolenko
2024-05-22add throttle for sending messages; add simple demo scriptMnikolenko Productengine
2024-05-22Add support for sending messages to Nearby chat from Lua scriptMnikolenko Productengine
2024-05-21viewer#1520 Material upload floater displays wrong upload feeAndrey Kleshchev
2024-05-16set UNTRUSTED_ALLOW as default; some LLCommitCallbackInfo clean upMnikolenko Productengine
2024-05-16Merge branch 'lua-ui-callbacks' into release/luau-scriptingMnikolenko Productengine
2024-05-16adjust the flag to be untrusted block/allow/throttleMnikolenko Productengine
2024-05-16Merge branch 'release/materials_featurette' into marchcat/x-mf-mergeAndrey Lihatskiy
2024-05-15#1267 Fix for alpha cutoff of zero and base color factor alpha of zero ↵Dave Parks
making objects disappear (#1485)
2024-05-15#1466 Loosen clamp on haze glow to fix skies that want to be bonkers (#1470)Dave Parks
2024-05-15secondlife/viewer#1474: Remove small texture offset from PBR terrainCosmic Linden
2024-05-15Merge branch 'release/luau-scripting' into lua-timers after Maint XNat Goodspeed
2024-05-15Manual whitespace cleanup (fix_whitespace.py).Nat Goodspeed
2024-05-15Merge commit 'e7eced3' into lua-timers for whitespace fixes.Nat Goodspeed
2024-05-15Add trusted flag to UI callbacks, so not everything is accessible from the ↵Mnikolenko Productengine
script
2024-05-15Merge branch 'main' into release/luau-scripting for Maint X release.Nat Goodspeed
2024-05-15Manual whitespace fixes (fix_whitespace.py).Nat Goodspeed
2024-05-15Merge commit 'e7eced3' into release/luau-scripting: whitespace fix.Nat Goodspeed
2024-05-15Make leap.lua honor an "error" key in viewer response.Nat Goodspeed
2024-05-15Merge branch 'release/maint-x' into marchcat/x-mf-mergeAndrey Lihatskiy
2024-05-15Merge branch 'main' into marchcat/x-mf-mergeAndrey Lihatskiy
# Conflicts: # doc/contributions.txt # indra/newview/llfloaterimagepreview.cpp
2024-05-15Post-merge spaces fixAndrey Lihatskiy