summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-12Add script to convert frame profile JSON file to CSV.Nat Goodspeed
Also slightly refactor profile_pretty.py.
2024-09-12Add a JSON frame profile stats file pretty-printer script.Nat Goodspeed
2024-09-12Support "LLTeleportHandler" "teleport" regionname="home".Nat Goodspeed
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-12Disable happy-path destructor semantics when unwinding C++ stack.Nat Goodspeed
If the C++ runtime is already handling an exception, don't try to launch more Lua operations.
2024-09-12Populate the viewer package's lua/auto subdir as well as require.Nat Goodspeed
2024-09-12Work around broken MS `std::basic_ostream`.Nat Goodspeed
MSVC's `std::basic_ostream<CHAR>` template is not implemented in a general way: it can only be instantiated for certain specific `CHAR` types. Declaring a `std::basic_ostringstream<llwchar>` fails on MSVC with C2941. Fortunately both llstring.cpp functions that build a `LLWString` incrementally have the same characteristics: (a) they each build it one character at a time, and (b) the length of the result `LLWString` won't exceed the known length of the input string. So it works to declare a `std::vector<llwchar>`, `reserve()` the input length and `push_back()` individual characters. Then we can use `LLWString`'s range constructor to immediately allocate the right size.
2024-09-12Specialize `std::numpunct<llwchar>` to fix broken MS `basic_ostream`.Nat Goodspeed
MSVC's `std::basic_ostream<CHAR>` template is not implemented in a general way: it can only be instantiated for certain specific `CHAR` types. Declaring a `std::basic_ostringstream<llwchar>` fails on MSVC with C2941. The ugly workaround from Stack Overflow is to clone-and-edit Microsoft's `std::numpunct` template, locally specializing it for the desired `CHAR` type.
2024-09-12Give `LLGLSLShader::finishProfile()` a static default string param.Nat Goodspeed
`finishProfile()` is called at least once within a `__try` block. If we default its `report_name` parameter to a temporary `std::string`, that temporary must be destroyed when the stack is unwound, which `__try` forbids.
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-10In llstring.cpp, build result strings using basic_ostringstream<T>.Nat Goodspeed
Many of the string conversion functions in llstring.cpp would build their result strings using successive concatenation operations, piece by piece. This can be expensive in allocations. Instead, use a std::basic_ostringstream of char type appropriate to the return string type to aggregate piecewise string building.
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-10llinstancetracker.h was missing an #include from last merge.Nat Goodspeed
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-10Fix a couple errors from merging in new code.Nat Goodspeed
2024-09-09Merge branch 'develop' into release/luau-scriptingNat Goodspeed
2024-09-09Merge pull request #2523 from secondlife/lua-feature-flagnat-goodspeed
Put viewer's Lua functionality behind a feature flag, default off.
2024-09-09Merge pull request #2533 from secondlife/roxie/webrtc-283Roxanne Skelly
Callback button for groups was not being reenabled after hanging up on group call.
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
2024-09-09Changes towards C++20 compatibility (#2520)Ansariel Hiller
2024-09-09Update calcDataSizeJ2C to stop undersized blocks (#2525)TommyTheTerrible
The initial block area for the pyramid walk should not be smaller than the max_block_size area so need an llmax to not allow multiplication below 1. This was causing decode errors for complex small images (128x128 or smaller) on discard 1 and 2.
2024-09-08#459 Filters on object inventoryAlexander Gavriliuk
2024-09-07Merge pull request #2521 from secondlife/andreyk/viewer_2411Andrey Kleshchev
viewer#2411 Use font buffer for inventory
2024-09-06#2467 Fix for sim surrounds not fully loading (#2524)Dave Parks
Also fixes some sculpts getting wrong LoD
2024-09-07viewer#2411 Use font buffer for inventoryAndrey Kleshchev
2024-09-06Avoid VC fatal warning when trying to fix un/signed comparison.Nat Goodspeed
2024-09-06Merge pull request #2522 from secondlife/roxie/webrtc-281Roxanne Skelly
Don't enable vivox spatial when teleporting while in a webrtc conference/p2p/group call
2024-09-06Remove Lua floaters from menu_viewer.xml; re-add if Lua enabled.Nat Goodspeed
Add a menus.lua autorun script that waits until login, then adds the Lua floaters back into the Develop->Consoles menu where they were originally. Extend UI.addMenuItem() and addMenuSeparator() to support pos argument.
2024-09-06Introduce LuaFeature debug setting, default off.Nat Goodspeed
Make central Lua engine functionality conditional on that flag.
2024-09-06Add pos to 'UI' listener's 'addMenuItem' and 'addMenuSeparator'Nat Goodspeed
'pos' is a 0-relative index at which to insert the desired menu item or separator. If 'pos' is omitted, the item is appended to the menu.
2024-09-06Don't enable vivox spatial when teleporting while in a webrtc ↵Roxie Linden
conference/p2p/group call Processing for vivox was being enabled when teleporting into a vivox region regardless as to whether the user was in a conference/p2p/group call, resulting in vivox spatial and webrtc conference/p2p/group simultaneously being active.
2024-09-06Allow LLMenuGL::insert() to append as well as inserting.Nat Goodspeed
Appending is effected by passing position == getItemCount(). Until now, insert() disallowed that value, so you could insert before the last existing entry but not after it.
2024-09-06Introduce llless(), and use it for llmin(), llmax().Nat Goodspeed
Add tests to verify that llless() correctly handles signed <=> unsigned comparison, which native "<" does not.
2024-09-06Add toggles to avatar dropdown for hear sound or voice from avatar. (#2518, ↵TJ
#2519)
2024-09-06Fix login progress always showing incorrect attempt number (#2517)Ansariel Hiller
2024-09-06Merge pull request #2516 from Ansariel/develop-inventory_item_countAndrey Kleshchev
Follow-up fix for 238a2a64b31e6a0b431309e363067a7fe57125ae
2024-09-06Follow-up fix for 238a2a64b31e6a0b431309e363067a7fe57125ae: Item count will ↵Ansariel
always show fetch label even after fetch is complete
2024-09-05Merge pull request #2514 from secondlife/roxie/webrtc-raceRoxanne Skelly
Fix race condition that was preventing "Voice Call" menu from reliably calling.
2024-09-05Avoid some classic-C style pointer casts.Nat Goodspeed
2024-09-05Fix typo in cppfeatures_test.cppNat Goodspeed
2024-09-05Merge pull request #2513 from secondlife/lua-merge-devnat-goodspeed
Merge develop branch into Lua project branch.
2024-09-05Fix race condition that was preventing "Voice Call" menu from reliably calling.Roxie Linden
The code attempted to do a call to a session immediately after a call that launched a coroutine to set up a session. Sometimes, the coroutine executed in time, sometimes not. The fix is to set a flag to start a call after the session has been created on the server. Test Plan: * Close all active chat sessions. * Select 'Voice Call' in the context menu of a nearby avatar. * Validate popup appears for that nearby avatar requesting to start/ignore/go to im. * Select 'start' * Validate the call completes.
2024-09-05Merge branch 'release/luau-scripting' into lua-merge-devNat Goodspeed