Commit Graph

79965 Commits (master)

Author SHA1 Message Date
minerjr 2ef2233afa FIRE-36016 - Re-added Store/Restore boost levels of selected objects
Re-adding the feature to store and restore texture boost levels when a user edit's an object.

When you right click on an object. All the textures assigned to it get their boost level set to BOOST_SELECTED.

For LOD textures, once the texture's ProcessStats is completed, it resets the boost level to BOOST_NONE. This can cause the texture to then be subject to Texture Bias when in low memory, where before it was possibly protected as being a higher priority texture.

Now when the boost levels is about to change to BOOST_SELECTED, it gets stored and in ProcessStats, the boost level is restored.

Issue was fixed before but was rolled back. This is just restoring this one fix.
2025-10-13 21:04:25 -03:00
PanteraPolnocy 56648715d6 Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm 2025-10-13 23:53:00 +02:00
PanteraPolnocy 8f2991e313 Apply guides' structural changes to all applicable languages 2025-10-13 23:52:45 +02:00
Ansariel 0f53f79382 Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm 2025-10-13 23:43:30 +02:00
Ansariel 259c453f6d Fixing formatting, calls to glLineWidth with invalid line width and chuck in some improvements 2025-10-13 23:43:19 +02:00
PanteraPolnocy cfea5fe070 Updated Polish translation 2025-10-13 23:39:43 +02:00
Ansariel 137cd754e9 Update German translation 2025-10-13 23:23:54 +02:00
Ansariel e5044faabc Fix layout stuff 2025-10-13 23:23:43 +02:00
Beq 27cf30bdd3 Merge remote-tracking branch 'origin/master' 2025-10-13 21:33:22 +01:00
Ansariel 8a2c295298 Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/skins/default/xui/en/panel_preferences_move.xml
#	indra/newview/skins/default/xui/ja/floater_360capture.xml
#	indra/newview/skins/default/xui/ja/floater_about_land.xml
#	indra/newview/skins/default/xui/ja/floater_edit_ext_day_cycle.xml
#	indra/newview/skins/default/xui/ja/floater_god_tools.xml
#	indra/newview/skins/default/xui/ja/floater_inspect.xml
#	indra/newview/skins/default/xui/ja/floater_joystick.xml
#	indra/newview/skins/default/xui/ja/floater_land_holdings.xml
#	indra/newview/skins/default/xui/ja/floater_lsl_guide.xml
#	indra/newview/skins/default/xui/ja/floater_model_preview.xml
#	indra/newview/skins/default/xui/ja/floater_pathfinding_console.xml
#	indra/newview/skins/default/xui/ja/floater_pathfinding_linksets.xml
#	indra/newview/skins/default/xui/ja/floater_preferences.xml
#	indra/newview/skins/default/xui/ja/floater_preferences_graphics_advanced.xml
#	indra/newview/skins/default/xui/ja/floater_preferences_view_advanced.xml
#	indra/newview/skins/default/xui/ja/floater_scene_load_stats.xml
#	indra/newview/skins/default/xui/ja/floater_settings_debug.xml
#	indra/newview/skins/default/xui/ja/floater_snapshot.xml
#	indra/newview/skins/default/xui/ja/floater_stats.xml
#	indra/newview/skins/default/xui/ja/floater_tools.xml
#	indra/newview/skins/default/xui/ja/floater_top_objects.xml
#	indra/newview/skins/default/xui/ja/floater_ui_preview.xml
#	indra/newview/skins/default/xui/ja/menu_attachment_other.xml
#	indra/newview/skins/default/xui/ja/menu_avatar_other.xml
#	indra/newview/skins/default/xui/ja/menu_conversation_log_view.xml
#	indra/newview/skins/default/xui/ja/menu_gesture_gear.xml
#	indra/newview/skins/default/xui/ja/menu_inventory.xml
#	indra/newview/skins/default/xui/ja/menu_participant_list.xml
#	indra/newview/skins/default/xui/ja/menu_people_nearby_multiselect.xml
#	indra/newview/skins/default/xui/ja/menu_profile_other.xml
#	indra/newview/skins/default/xui/ja/menu_profile_self.xml
#	indra/newview/skins/default/xui/ja/menu_settings_gear.xml
#	indra/newview/skins/default/xui/ja/menu_url_agent.xml
#	indra/newview/skins/default/xui/ja/menu_viewer.xml
#	indra/newview/skins/default/xui/ja/menu_wearable_list_item.xml
#	indra/newview/skins/default/xui/ja/notifications.xml
#	indra/newview/skins/default/xui/ja/panel_avatar_list_item.xml
#	indra/newview/skins/default/xui/ja/panel_clothing_list_button_bar.xml
#	indra/newview/skins/default/xui/ja/panel_edit_universal.xml
#	indra/newview/skins/default/xui/ja/panel_group_bulk_ban.xml
#	indra/newview/skins/default/xui/ja/panel_group_creation_sidetray.xml
#	indra/newview/skins/default/xui/ja/panel_group_notices.xml
#	indra/newview/skins/default/xui/ja/panel_landmark_info.xml
#	indra/newview/skins/default/xui/ja/panel_main_inventory.xml
#	indra/newview/skins/default/xui/ja/panel_nearby_chat_bar.xml
#	indra/newview/skins/default/xui/ja/panel_nearby_media.xml
#	indra/newview/skins/default/xui/ja/panel_people.xml
#	indra/newview/skins/default/xui/ja/panel_performance_autoadjustments.xml
#	indra/newview/skins/default/xui/ja/panel_performance_preferences.xml
#	indra/newview/skins/default/xui/ja/panel_place_profile.xml
#	indra/newview/skins/default/xui/ja/panel_postcard_settings.xml
#	indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml
#	indra/newview/skins/default/xui/ja/panel_preferences_chat.xml
#	indra/newview/skins/default/xui/ja/panel_preferences_colors.xml
#	indra/newview/skins/default/xui/ja/panel_preferences_general.xml
#	indra/newview/skins/default/xui/ja/panel_preferences_graphics1.xml
#	indra/newview/skins/default/xui/ja/panel_preferences_sound.xml
#	indra/newview/skins/default/xui/ja/panel_presets_pulldown.xml
#	indra/newview/skins/default/xui/ja/panel_prim_media_controls.xml
#	indra/newview/skins/default/xui/ja/panel_profile_secondlife.xml
#	indra/newview/skins/default/xui/ja/panel_region_environment.xml
#	indra/newview/skins/default/xui/ja/panel_region_estate.xml
#	indra/newview/skins/default/xui/ja/panel_region_terrain.xml
#	indra/newview/skins/default/xui/ja/panel_status_bar.xml
#	indra/newview/skins/default/xui/ja/panel_tools_texture.xml
#	indra/newview/skins/default/xui/ja/sidepanel_item_info.xml
#	indra/newview/skins/default/xui/ja/sidepanel_task_info.xml
#	indra/newview/skins/default/xui/ja/strings.xml
#	indra/newview/skins/default/xui/ja/teleport_strings.xml
2025-10-13 22:21:27 +02:00
Ansariel 4066a9eb8a Update German translation 2025-10-13 22:21:00 +02:00
Beq abedbe4e32 Merge branch 'Fix-photo-overlay' 2025-10-13 20:44:33 +01:00
Beq 3b33e548f4 [FIRE-35342] Fix frame guide rendering inside the scene
Add UI for controlling the settings, add new styles.
Snapshot guide with golden ratio options
Adds golden ratio composition guides to the snapshot tool, including options for different orientations (top-left, top-right, bottom-left, bottom-right).
Also refactors the snapshot guide settings into a separate floater for better organization.
2025-10-13 20:10:48 +01:00
Andrey Kleshchev 57a9e51360 #4819 WebRTC crashes after a failed login 2025-10-13 21:19:24 +03:00
Andrey Lihatskiy 083a971f31
Avoid stack-buffer overruns in llprocess_test.cpp (#4824) 2025-10-13 19:32:54 +03:00
SakuraNoel Fayray 062b8d1093
Fix Japanese Translation (#743) 2025-10-13 09:25:37 -07:00
Andrey Kleshchev 449f64caa2 #2818 Creating a link to an empty notecard fails 2025-10-13 18:17:05 +03:00
Andrey Kleshchev 38257221d0 viewer#3018 Expose mouse wrap in UI
And attempt some basic automation
2025-10-13 16:27:36 +03:00
Hecklezz 911b4e810c [FIRE-36011] Fixed RemoveItemWarn invalid notification and deleting no-mod content
Merged upstream in PR#4812
2025-10-13 22:56:03 +10:00
TJ 46b4ea4d6d
#4811 #4813 Fixed RemoveItemWarn invalid notification and deleting no-mod content (#4812)
* Fixed trying to display an invalid notification for RemoveItemWarn
* Fixed allowing deleting no-mod content if tried to be deleted twice
2025-10-13 15:37:23 +03:00
Ansariel d5175720c9 Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm 2025-10-13 10:59:05 +02:00
Hecklezz 4855714b46 Updated CMakeLists.txt for LLWebRTC to fix compilation issues with the updated WebRTC 2025-10-13 14:37:32 +10:00
Hecklezz 5fb339d033 Updated WebRTC.cmake to fix compilation issues with the updated WebRTC 2025-10-13 14:32:26 +10:00
Ansariel 9538e515d6 Use timing from develop branch for outfits list to smoothening first open 2025-10-12 14:31:28 +02:00
Ansariel 1368aeeef6 Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm 2025-10-12 13:56:02 +02:00
Andrey Kleshchev ee43165bad #4695 Fix device update causing a crash 2025-10-12 16:35:11 +10:00
Andrey Kleshchev 0dcade5e1d #4695 Fix missing voice cleanup
Cleanup is in LLVoiceClient::terminate()
gWebRTCImpl was never deleted
Added mDeviceModule security
2025-10-12 16:34:56 +10:00
Andrey Kleshchev 5a8dfe2d19 #4691 Log WebRTC termination
for diagnostic purposes
2025-10-12 16:34:35 +10:00
Roxanne Skelly 81c01ab5bc Fix indexing problem with mac devices (#4676)
* Fix indexing problem with mac devices

This resulted in the wrong device being selected.

Also, fix a shutdown crash where recording was not being stopped, hence the recording
thread was still running on shutdown and crashed because it lost access to resources.

Fix an issue with p2p calls where they're coming up muted even though the button indicates
they are unmuted.

* Always refresh device list on notification of device changes

Even when the selected device doesn't change, we need to
re-deploy it as it might have had characteristics (sampling rate, etc.) changed.

Also, we need to redeploy when the Default device has changed
2025-10-12 16:34:22 +10:00
Andrey Kleshchev cf683a2eb8 #4675 Voice indicator did not reappear after tuning
resume() was trigggering sOnCurrentChannelChanged which was wiping
participant list with no follow up updates.
2025-10-12 16:33:51 +10:00
Roxanne Skelly d070b996bd [WebRTC] Rework device handling sequence so that we can handle unplugging/re-plugging devices (#4593)
* [WebRTC] Rework device handling sequence so that we can handle unplugging/re-plugging devices

The device handling was not processing device updates in the proper sequence as
things like AEC use both input and output devices.  Devices like headsets are both
so unplugging them resulted in various mute conditions and sometimes even a crash.

Now, we update both capture and render devices at once in the proper sequence.

Test Guidance:
* Bring two users in the same place in webrtc regions.
* The 'listening' one should have a headset or something set oas 'Default'
* Press 'talk' on one, and verify the other can hear.
* Unplug the headset from the listening one.
* Validate that audio changes from the headset to the speakers.
* Plug the headset back in.
* Validate that audio changes from speakers to headset.
* Do the same type of test with the headset viewer talking.
* The microphone used should switch from the headset to the computer (it should have one)

Do other various device tests, such as setting devices explicitly, messing with the device selector, etc.

* Fix race condition when multiple change device requests might come in at once

* Update to m137

The primary feature of this commit is to update libwebrtc from m114
to m137.  This is needed to make webrtc buildable, as m114 is not buildable
by the current toolset.

m137 had some changes to the API, which required renaming or changing namespace
of some of the calls.

Additionally, this PR moves from a callback mechanism for gathering the energy
levels for tuning to a wrapper AudioDeviceModule, which gives us more control
over the audio stream.

Finally, the new m137-based webrtc has been updated to allow for 192khz audio
streams.

* Properly pass the observer setting into the inner audio device module

* Update to m137 and get rid of some noise

    This change updates to m137 from m114, which required a few API changes.

    Additionally, this fixes the hiss that happens shortly after someone unmutes: https://github.com/secondlife/server/issues/2094

    There was also an issue with a slight amount of repeated after unmuting if there was audio right before unmuting.  This is because
    the audio processing and buffering still had audio from the previous speaking session.  Now, we inject nearly a half second of
    silence into the audio buffers/processor after unmuting to flush things.

* Install nsis on windows

* Use the newer digital AGC pipeline

m137 improved the AGC pipeline and the existing analog style is going away
so move to the new digital pipeline.

Also, some tweaking for audio levels so that we don't see inworld bars when tuning,
so one's own bars seem a reasonable size, etc.

* Install NSIS during windows sisgning and package build step

* Try pinning the packaging to windows 2022 to deal with missing nsis

* Adjust gain calculation and audio level calculations for tuning and peer connections

* Update with mac universal webrtc build

* Tuning of voice indicators for both tuning mode and inworld for self.

* Redo device deployment to handle cases where multiple deploy requests pile up

Also, mute when leaving webrtc-enabled regions or parcels,
and unmute when voice comes back.

* pre commit issue
2025-10-12 16:32:18 +10:00
PanteraPolnocy 59e99b2aca FIRE-36012 Chinese translation update, by 小滢 Zi Ying 2025-10-11 20:37:51 +02:00
Ansariel 518198d268 Pathfinding navmesh isn't available without Havok anymore - remove notification 2025-10-11 18:55:49 +02:00
Ansariel e7b3d68cab Merge branch 'develop' of https://github.com/secondlife/viewer
# Conflicts:
#	autobuild.xml
#	indra/cmake/LLPhysicsExtensions.cmake
#	indra/llprimitive/CMakeLists.txt
#	indra/newview/CMakeLists.txt
#	indra/newview/lltexturectrl.cpp
#	indra/newview/llviewerobject.cpp
#	indra/newview/llviewertexture.cpp
#	indra/newview/llviewerwindow.cpp
#	indra/newview/llvovolume.cpp
#	indra/newview/skins/default/xui/en/floater_marketplace.xml
#	indra/newview/skins/default/xui/en/floater_model_preview.xml
#	indra/newview/skins/default/xui/en/floater_search.xml
2025-10-11 18:51:03 +02:00
Hecklezz 24e526a111 Corrected calcDataSizeJ2C change so it compiles on macOS and Linux 2025-10-12 02:05:02 +10:00
Ansariel b1f05340f8 Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm
# Conflicts:
#	indra/newview/pipeline.cpp
2025-10-11 14:41:58 +02:00
Ansariel 98a48cf1c1 Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm
# Conflicts:
#	indra/newview/pipeline.cpp
2025-10-11 14:35:54 +02:00
Jonathan "Geenz" Goodman 2cdcd336ba
Merge pull request #4783 from RyeMutt/rye/convexdecomp
Introduce initial VHACD based llconvexdecomposition library
2025-10-10 17:17:25 -04:00
Jonathan "Geenz" Goodman 6efde0ba83
Merge pull request #4809 from secondlife/andreyk/viewer_4777
#4777 Fix crash on missing factory
2025-10-10 17:16:47 -04:00
Hecklezz 14ae64f297 Restore allowing creating folder from selected on recent and favorites inventory panels 2025-10-11 03:43:20 +10:00
PanteraPolnocy 0f7a40f0a0 FIRE-36006 Russian translation update, by Romka Swallowtail 2025-10-10 14:56:10 +02:00
PanteraPolnocy 9d1f00968e Revert "Make snapshot guides more visible"
This reverts commit c1c6f1ed5e.
2025-10-10 08:59:40 +02:00
PanteraPolnocy 9267076ebb Make the visibility/opacity of the composition guides in snapshot view configurable via debug setting, as per request 2025-10-10 08:19:01 +02:00
Beq 2ab023156b [FIRE-35987] Slow texture loading (at least partial fix)
This fixes a specific issue that has existed for a while so it is not a full fix for FIRE-35987. It will however reduce overfetch and increased data/cache/RAM usage as a result of the overfetch.
2025-10-10 02:14:00 +01:00
PanteraPolnocy c1c6f1ed5e Make snapshot guides more visible 2025-10-09 23:47:19 +02:00
Andrey Kleshchev 3445a01990 #4782 Improve wearing multiple items 2025-10-10 00:03:18 +03:00
Andrey Kleshchev 400351f3b8 #4777 Fix crash on missing factory 2025-10-09 23:59:51 +03:00
PanteraPolnocy f6c29b0356 FIRE-35342 Show capture frame shader on screen, when relevant option is selected in snapshot floater
Still no idea why guides are not working, but adding a missing setting for them, at least
2025-10-09 22:24:54 +02:00
PanteraPolnocy f7680d408d FIRE-35990: RLVa vision spheres needs to be visible in snaphsots and inworld if "snaphsot frame" is checked
Seems to work nicely with FSRenderVignette, too - no shaders conflict there
2025-10-09 21:16:52 +02:00
PanteraPolnocy 7e84883026 FIRE-36002 Update Japanese translation, by Logue Takacs 2025-10-09 20:42:28 +02:00