summaryrefslogtreecommitdiff
path: root/indra/newview
AgeCommit message (Collapse)Author
2024-03-11Add coro.lua to aggregate created coroutines.Nat Goodspeed
2024-03-11Lua already has a conventional cheap test for empty table.Nat Goodspeed
2024-03-11Add llluamanager_test test exercising leap.WaitFor.Nat Goodspeed
2024-03-11Polish up leap.lua to make it pass tests.Nat Goodspeed
Add usage comments at the top. Add leap.done() function. Make leap.process() honor leap.done(), also recognize an incoming nil from the viewer to mean it's all done. Support leap.WaitFor with nil priority to mean "don't self-enable." This obviates leap.WaitForReqid:enable() and disable() overrides that do nothing. Add diagnostic logging.
2024-03-11Make WaitQueue:_wait_waiters() skip dead coroutines.Nat Goodspeed
That is, skip coroutines that have gone dead since they decided to wait on Dequeue().
2024-03-11Merge pull request #954 from secondlife/v-712cosmic-linden
PBR Terrain UI second pass: review follow-up
2024-03-10viewer#944 [Emoji] Display should be consistent between llDialog text and ↵Alexander Gavriliuk
llDialog buttons
2024-03-10viewer#944 Make 'Debug Unicode' feature available for all LLViewsAlexander Gavriliuk
2024-03-08secondlife/viewer#712: Slightly improved logging in refreshFromRegionCosmic Linden
2024-03-08secondlife/viewer#712: Consolidate accesses to texture_detail_* and ↵Cosmic Linden
material_detail_* controls
2024-03-08HDRI Local Preview (#953)RunitaiLinden
* #926 WIP - HDRI import prototype v0 * #926 WIP -- add OpenEXR to autobuild.xml * #926 WIP -- Add OpenEXR cmake * #926 WIP -- Attempt at using OpenEXR autobuild package and don't hard code .exr file to load * #926 Unmangle autobuild.xml and get dll's in the right place (thanks, Caladbolg!) * implement mac shared libs plumbing for OpenEXR for secondlife/viewer#926 * Fix Xcode/clang compile error regarding new[]/delete[] mismatch * #926 HDRI Preview finishing touches. - Full ACES when HDRI is enabled - Fix for probes getting stuck paused - Add exposure and rotation controls --------- Co-authored-by: Brad Linden <brad@lindenlab.com>
2024-03-08Merge 'release/luau-scripting' into lua-leap for Emoji release.Nat Goodspeed
2024-03-08Merge pull request #942 from secondlife/geenz/mirrors-quality-pass-1Jonathan "Geenz" Goodman
#681 Mirrors quality pass 1.
2024-03-08Merge branch 'main' into release/luau-scripting for Emoji release.Nat Goodspeed
2024-03-08Enhance llluamanager_test.cpp.Nat Goodspeed
Sketch in an initial test that requires one of our bundled Lua modules. Each time we run Lua, report any error returned by the Lua engine. Use llcoro::suspendUntilEventOn(LLEventMailDrop) as shorthand for initializing an explicit LLTempBoundListener with a listen() call with a lambda.
2024-03-08Allow build-time Lua tests to require() bundled Lua modules.Nat Goodspeed
2024-03-07secondlife/viewer#712: Consolidate accesses to terrain_material_type controlCosmic Linden
2024-03-07Finish adding leap.WaitFor and WaitForReqid. Untested.Nat Goodspeed
2024-03-07viewer-private#41 Texture fail to apply to materials in some casesAndrey Kleshchev
Shift-dropping textures can fail if one of 'early' faces has nomod material
2024-03-07Finish WaitQueue, ErrorQueue; add util.count(), join(); extend qtest.Nat Goodspeed
For WaitQueue, nail down the mechanism for declaring a subclass and for calling a base-class method from a subclass override. Break out new _wake_waiters() method from Enqueue(): we need to do the same from close(), in case there are waiting consumers. Also, in Lua, 0 is not false. Instead of bundling a normal/error flag with every queued value, make ErrorQueue overload its _closed attribute. Once you call ErrorQueue:Error(), every subsequent Dequeue() call by any consumer will re-raise the same error. util.count() literally counts entries in a table, since #t is documented to be unreliable. (If you create a list with 5 entries and delete the middle one, #t might return 2 or it might return 5, but it won't return 4.) util.join() fixes a curious omission from Luau's string library: like Python's str.join(), it concatenates all the strings from a list with an optional separator. We assume that incrementally building a list of strings and then doing a single allocation for the desired result string is cheaper than reallocating each of a sequence of partial concatenated results. Add qtest test that posts individual items to a WaitQueue, waking waiting consumers to retrieve the next available result. Add test proving that calling ErrorQueue:Error() propagates the error to all consumers.
2024-03-06#681 Small fix for if a viewer object may be dead.Jonathan "Geenz" Goodman
2024-03-06Merge branch 'release/materials_featurette' into geenz/mirrors-quality-pass-1Jonathan "Geenz" Goodman
2024-03-06#681 Add probe blending for mirrors.Jonathan "Geenz" Goodman
2024-03-07triage#103 The focused state of the 'Recently used emojis' is not visibleAlexander Gavriliuk
2024-03-06Merge pull request #927 from secondlife/v-712cosmic-linden
PBR Terrain UI second pass
2024-03-06secondlife/viewer#712: Clean up unused region change callback checksCosmic Linden
2024-03-06WIP: Unfinished Queue.lua, WaitQueue.lua, ErrorQueue.lua, leap.lua.Nat Goodspeed
Also qtest.lua to exercise the queue classes and inspect.lua (from https://github.com/kikito/inspect.lua) for debugging.
2024-03-06SL-20429 Fix emoji categories having mixed translationsAndrey Kleshchev
Was caused by package substituting '&' with 'and' instead of '&amp;'
2024-03-05Merge remote-tracking branch 'origin/release/gltf-maint2' into ↵Brad Linden
release/materials_featurette
2024-03-05triage#86 Use Emoji font in LineEditor by defaultAlexander Gavriliuk
2024-03-05Issue #54 LLRender::init crashAndrey Kleshchev
2024-03-05SL-17896 Don't crash silently if files are missing or out of memoryAndrey Kleshchev
Under debug LL_ERRS will show a message as well, but release won't show anything and will quit silently so show a notification when applicable.
2024-03-04Merge branch 'main' into marchcat/x-mergeAndrey Lihatskiy
# Conflicts: # indra/llcommon/llstring.cpp # indra/llcommon/llstring.h
2024-03-01secondlife/viewer#712: Use checkbox to make it more obvious that only one ↵Cosmic Linden
set of terrain assets is preserved. Clean up enums.
2024-03-02Revert "Update emoji_categories in Polish translation to slightly more ↵Andrey Kleshchev
correct erms..." This reverts commit 60debe828b87c33fdbd33e3a5fcef423e544fe55.
2024-03-01Update emoji_categories in Polish translation to slightly more correct erms...Pantera Północy
2024-03-01Merge remote-tracking branch 'origin/release/gltf-maint2' into ↵Brad Linden
release/materials_featurette
2024-03-01Merge remote-tracking branch 'origin/main' into release/gltf-maint2Brad Linden
2024-03-01Merge branch 'main' into marchcat/yz-mergeAndrey Lihatskiy
# Conflicts: # indra/newview/llinventorygallery.cpp
2024-03-01triage#105 clearPopups() crashAndrey Kleshchev
onTopLost can result in popup being removed or potentially removing more than one popup.
2024-03-01Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
2024-03-01Increment viewer version to 7.1.4Nat Goodspeed
following promotion of secondlife/viewer #673
2024-02-29secondlife/viewer#712: Remember previously set textures/materials when ↵Cosmic Linden
possible. Not persistent.
2024-02-29secondlife/viewer#712: More intuitive selection of PBR vs texture terrain, ↵Cosmic Linden
and update dropdown to match
2024-02-29Fix wonky Unicode chars from web pasteNat Goodspeed
2024-02-29Add Queue.lua from roblox.com documentation.Nat Goodspeed
2024-02-29Clarify that the print output from testmod.lua is load-time.Nat Goodspeed
2024-02-29Fix caching for loaded Lua require() modules.Nat Goodspeed
The code to save the loaded module was using the wrong key.
2024-02-29Add indra/newview/scripts/lua directory, copied into viewer image.Nat Goodspeed
2024-02-29Refactor require() to make it easier to reason about Lua stack usage.Nat Goodspeed
Push throwing Lua errors down into LLRequireResolver::findModule() and findModuleImpl() so their callers don't have to handle the error case. That eliminates finishrequire(). require() itself now only retrieves (and pops) the passed module name and calls LLRequireResolver::resolveRequire() to do the actual work. resolveRequire() is now void. It only instantiates LLRequireResolver and calls its findModule(). findModule() is now also void. It's guaranteed to either push the loaded Lua module or throw a Lua error. In particular, when findPathImpl() cannot find the specified module, findModule() throws an error. That replaces ModuleStatus::NotFound. Since std::filesystem::path::append() aka operator/() detects when its right operand is absolute and, in that case, discards the left operand, we no longer need resolveAndStoreDefaultPaths(): we can just invoke that operation inline. When findModule() pushes _MODULES on the Lua stack, it uses LuaRemover (below) to ensure that _MODULES is removed again no matter how findModules() exits. findModuleImpl() now accepts the candidate pathname as its argument. That eliminates mAbsolutePath. findModuleImpl() now returns only bool: true means the module was found and loaded and pushed on the Lua stack, false means not found and nothing was pushed; no return means an error was reported. Push running a newly found module's source file down into findModuleImpl(). That eliminates the distinction between Cached and FileRead, which obviates ModuleStatus: a bool return means either "previously cached" or "we read it, compiled it, loaded it and ran it." That also eliminates the need to store the module's textual content in mSourceCode. Similarly, once loading the module succeeds, findModuleImpl() caches it in _MODULES right away. That eliminates ResolvedRequire since we need not pass the full pathname of the found module (or its contents) back up through the call chain. Move require() code that runs the new module into private runModule() method, called by findModuleImpl() in the not-cached case. runModule() is the only remaining method that can push either a string error message or the desired module, because of its funny stack manipulations. That means the check for a string error message on the stack top can move down to findModuleImpl(). Add LuaRemover class to ensure that on exit from some particular C++ block, the specified Lua stack entry will definitely be removed. This is different from LuaPopper in that it engages lua_remove() rather than lua_pop(). Also ditch obsolete await_event() Lua entry point.