summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-03added Boost include directory to the target collada14dom.Hiroo Ono
added -Wno-error=unused-result to the target collada14dom.
2024-09-03#2403 Reset Skeleton issuesAlexander Gavriliuk
2024-09-03Merge pull request #8 from oikumene/freebsdErik Kundiman
Fix build.
2024-09-03#2471 The Destinations ComboBox on Login Screen changes the selected item to ↵Alexander Gavriliuk
the similar one
2024-09-02Introduce result_view.lua, and use it in LLInventory.lua.Nat Goodspeed
result_view(key_length, fetch) returns a virtual view of a potentially-large C++ result set. Given the result-set key, its total length and a function fetch(key, start) => (slice, adjusted start), the read-only table returned by result_view() manages indexed access and table iteration over the entire result set, fetching a slice at a time as required. Change LLInventory to use result_view() instead of only ever fetching the first slice of a result set. TODO: This depends on the viewer's "LLInventory" listener returning the total result set length as well as the result set key. It does not yet return the length.
2024-09-02More styling fixes and other minor inconsistency fixes in ↵TJ
inventorymodelbackgroundfetch code. (#2476)
2024-09-02Make `pairs()`, `ipairs()` forward to original funcs if no metamethods.Nat Goodspeed
That is, our replacement `pairs()` forwards the call to built-in `pairs()` when the passed object has no `__iter()` metamethod. Similarly, our replacement `ipairs()` forwards to built-in `ipairs()` when the passed object has no `__index()` metamethod. This allows for the possibility that the built-in `pairs()` and `ipairs()` functions engage more efficient implementations than the obvious ones.
2024-09-02Fix build.Hiroo Ono
* check for minizip (not minizip-ng) on Linux (Debian) * added find_package(Boost REQUIRED CONFIG) in collada-dom build for Linux and FreeBSD
2024-09-02Merge branch 'main' into 2024.08-DeltaFPSErik Kundiman
2024-09-02Merge remote-tracking branch 'secondlife/release/2024.08-DeltaFPS' into ↵Erik Kundiman
2024.08-DeltaFPS
2024-09-02Stream notification channel doesn't disable localErik Kundiman
chat notification, and change the default channel to 751751.
2024-09-02boost & pcre must be manually installed on macOSErik Kundiman
now that they don't have collada dom to pull them in automatically.
2024-09-02Add the @getcommand command query reply commandKitty Barnett
2024-09-02Add basic scaffolding to support reply commands and handle @versionXXX as an ↵Kitty Barnett
illustration
2024-09-01Restore old error handling early out logic in LLAppViewer::init() (#2475)Brad Linden
fixes secondlife/viewer#2474
2024-09-01Merge pull request #7 from oikumene/freebsdErik Kundiman
Build collada-dom in the build stage for Linux and FreeBSD
2024-09-01Merge remote-tracking branch 'secondlife/release/2024.08-DeltaFPS' into ↵Erik Kundiman
2024.08-DeltaFPS
2024-09-01Merge branch 'main' into freebsdHiroo Ono
2024-09-01Build and link collada-dom v2.3-r7 taken from Linden Lab's 3rd party softwareHiroo Ono
repository.
2024-09-01Add owner say chat hookKitty Barnett
2024-08-31Minimal code needed to add RLVa with an on/off toggleKitty Barnett
2024-08-31Make global pairs(), ipairs() honor metamethods.Nat Goodspeed
Specifically, make pairs(obj) honor obj's __iter() metamethod if any. Make ipairs(obj) honor obj's __index() metamethod, if any. Given the semantics of the __index() metamethod, though, this only works for a proxy table if the proxy has no array entries (int keys) of its own.
2024-09-01Build private static collada-dom library for Linux and FreeBSD.Hiroo Ono
Clone the repository by git and make it a cmake submodule.
2024-08-31Give certain LLInventory queries an API based on result sets.Nat Goodspeed
Introduce abstract base class InvResultSet, derived from LLIntTracker so each instance has a unique int key. InvResultSet supports virtual getLength() and getSlice() operations. getSlice() returns an LLSD array limited to MAX_ITEM_LIMIT result set entries. It permits retrieving a "slice" of the contained result set starting at an arbitrary index. A sequence of getSlice() calls can eventually retrieve a whole result set. InvResultSet has subclasses CatResultSet containing cat_array_t, and ItemResultSet containing item_array_t. Each implements a virtual method that produces an LLSD map from a single array item. Make LLInventoryListener::getItemsInfo(), getDirectDescendants() and collectDescendantsIf() instantiate heap CatResultSet and ItemResultSet objects containing the resultant LLPointer arrays, and return their int keys for categories and items. Add LLInventoryListener::getSlice() and closeResult() methods that accept the int keys of result sets. getSlice() returns the requested LLSD array to its caller, while closeResult() is fire-and-forget. Because bulk data transfer is now performed by getSlice() rather than by collectDescendantsIf(), change the latter's "limit" default to unlimited. Allow the C++ code to collect an arbitrary number of LLPointer array entries, as long as getSlice() limits retrieval overhead. Spell "descendants" correctly, unlike the "descendents" spelling embedded in the rest of the viewer... sigh. Make the Lua module provide both spellings. Make MAX_ITEM_LIMIT a U32 instead of F32. In LLInventory.lua, store int result set keys from 'getItemsInfo', 'getDirectDescendants' and 'collectDescendantsIf' in a table with a close() function. The close() function invokes 'closeResult' with the bound int keys. Give that table an __index() metamethod that recognizes only 'categories' and 'items' keys: anything else returns nil. For either of the recognized keys, call 'getSlice' with the corresponding result set key to retrieve (the initial slice of) the actual result set. Cache that result. Lazy retrieval means that if the caller only cares about categories, or only about items, the other result set need never be retrieved at all. This is a first step: like the previous code, it still retrieves only up to the first 100 result set entries. But the C++ code now supports retrieval of additional slices, so extending result set retrieval is mostly Lua work. Finally, wrap the table-with-metamethod in an LL.setdtor() proxy whose destructor calls its close() method to tell LLInventoryListener to destroy the CatResultSet and ItemResultSet with the bound keys.
2024-08-31Revert GNU/Linux to use system Collada DOM for nowErik Kundiman
2024-08-31Remove Collada DOM dependency on FreeBSDErik Kundiman
and replace it with direct dependencies on Minizip and PCRE.
2024-08-31Fix Error: Dae parsing issue on FreeBSDErik Kundiman
by managing to compile LL's ColladaDOM 2.3 on-the-fly.
2024-08-31Make sure webrtc gets emptied before refilling itErik Kundiman
on macOS arm64, the header directory.
2024-08-31Make sure ColladaDOM gets built nowErik Kundiman
Spaces are really just troublesome in argument passing. They can't really be escaped, quoting from -D would even replace spaces with semicolons. Hence making use of every variable that can be used in Collada DOM's CMakeLists.txt.
2024-08-31Revert "macOS uses prebuilt Collada DOM binaries"Erik Kundiman
This reverts commit 3bba39cf3e4d56da5aba883479539ed89fa578b9.
2024-08-31macOS uses prebuilt Collada DOM binariesErik Kundiman
2024-08-31Fix logics in deciding to build ColladaDOM or notErik Kundiman
So that colladadom_installed won't throw USESYSTEMLIBS to the next scope. Also libpcrecpp_LIBRARIES doesn't take spaces (might work by escaping the quotes, but only 1 pcrecpp needed anyway).
2024-08-31Revert Linux/BSD to use system Collada DOM for nowErik Kundiman
Turns out getting 2.3 compiled on those platforms need a lot more attention. Apart from that, the compilation result variable name got fixed, the prebuilt include directory got fixed, and pkg-config-ing minizip, libpcrecpp and libxml-2.0 so we can make have generic variable arguments to pass to Collada DOM's CMake settings.
2024-08-30Add LLIntTracker<T>, an LLInstanceTracker<T, int> with generated keys.Nat Goodspeed
The point of LLIntTracker is to generate its keys implicitly, so that its int getKey() can be treated more or less like an instance pointer, with the added bonus that the key can be passed around via LLSD. LLIntTracker generates random int keys to try to make it a little harder for one script to mess with an LLIntTracker instance belonging to another.
2024-08-30Change LLInstanceTracker::destruct() to erase().Nat Goodspeed
One could argue that LLInstanceTracker is a container of sorts, and erase() is more conventional. This affects no other code, as destruct() is not currently referenced.
2024-08-30Introduce Khronos Neutral tonemapper as new default along with debug options ↵Rye Mutt
to control tonemap mix (#2464) (#2468)
2024-08-30Merge pull request #2470 from secondlife/lua-play-animMaxim Nikolenko
Add Lua api to start/stop playing animation
2024-08-30Merge pull request #2472 from secondlife/v-2448cosmic-linden
secondlife/viewer#2448: Fix crash rendering rigged PBR prims
2024-08-30secondlife/viewer#2448: Fix crash rendering rigged PBR primsCosmic Linden
2024-08-30Fix background folder fetch pushing requests to wrong queue (#2436)Ansariel Hiller
2024-08-30update OpenJPEG 2.5.2 (#2452)AiraYumi
2024-08-30Fix Error: Dae parsing issue - see log for detailsErik Kundiman
https://megapahit.com/show_bug.cgi?id=76 It seems like we have to use LL's Collada DOM 2.3. Make sure minizip is installed on macOS. It should be safe to uninstall your system Collada DOM package now. The CMake arguments might have to be completed for non-Darwin platforms in a next commit.
2024-08-30#2454 Scrolling by the mouse wheel does not scroll up on the unopened ↵Alexander Gavriliuk
Destination field
2024-08-30Add throttle for playing an animation; add demo scriptMnikolenko Productengine
2024-08-30Add Lua api to start/stop playing animationMnikolenko Productengine
2024-08-30Custom channel stream notif sent as if from viewerErik Kundiman
As if it was the user typing "/157157 Now playing blabla".
2024-08-29Support next(), pairs(), ipairs() for LL.setdtor() table proxies.Nat Goodspeed
Replace the global next(), pairs() and ipairs() functions with a C++ function that drills down through layers of setdtor() proxy objects and then forwards the updated arguments to the original global function. Add a Luau __iter() metamethod to setdtor() proxy objects that, like other proxy metamethods, drills down to the underlying _target object. __iter() recognizes the case of a _target table which itself has a __iter() metamethod. Also add __idiv() metamethod to support integer division. Add tests for proxy // division, next(proxy), next(proxy, key), pairs(proxy), ipairs(proxy) and 'for k, v in proxy'. Also test the case where the table wrapped in the proxy has an __iter() metamethod of its own.
2024-08-30Stream notification channel setting in preferencesErik Kundiman
Not in effect yet.
2024-08-29Merge pull request #2466 from RyeMutt/smaaRye Mutt
Introduce SMAA and rework post process chain for better visual quality
2024-08-30#2360 Incorrect Day Cycle name in Edit Day Cycle floater (remove unused key ↵Alexander Gavriliuk
CANMOD)