diff --git a/.github/workflows/build_viewer.yml b/.github/workflows/build_viewer.yml index d0a6255abf..e4d0f3aa52 100644 --- a/.github/workflows/build_viewer.yml +++ b/.github/workflows/build_viewer.yml @@ -9,11 +9,18 @@ on: - "*preview" schedule: - cron: '00 03 * * *' # Run every day at 3am UTC -env: +env: AUTOBUILD_VARIABLES_FILE: ${{github.workspace}}/build-variables/variables EXTRA_ARGS: -DUSE_FMODSTUDIO=ON -DUSE_KDU=ON --crashreporting build_secrets_checkout: ${{github.workspace}}/signing XZ_DEFAULTS: -T0 + FS_RELEASE_TYPE: Unknown + platform: Unknown + fallback_platform: ${platform} + FS_RELEASE_CHAN: ${FS_RELEASE_TYPE}x64 + FS_GRID: "GRID FLAGS NOT SET" + PYTHON: + jobs: build_matrix: strategy: @@ -22,6 +29,9 @@ jobs: grid: [sl,os] addrsize: [64] runs-on: ${{ matrix.os }} + outputs: + viewer_channel: ${{ steps.channel.outputs.viewer_channel }} + viewer_version: ${{ steps.version.outputs.viewer_version }} steps: - name: Install Bash 4 and GNU sed on Mac if: runner.os == 'macOS' @@ -36,15 +46,20 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 - id: py312 + id: py311 with: - python-version: '3.11.6' - cache: 'pip' + python-version: '3.11' + + - name: Set PYTHON environment for CMake + run: | + echo "PYTHON=${{ steps.py311.outputs.python-path }}" >> $GITHUB_ENV + shell: bash - name: Install python requirements run: | python3 -m pip install -r requirements.txt python -m pip install -r requirements.txt + # export the new python to the environment var $PYTHON - name: Check python version run: python -V @@ -90,6 +105,7 @@ jobs: shell: bash - name: find channel from Branch name + id: channel run: | if [[ "${{ github.ref_name }}" == Firestorm* ]]; then FS_RELEASE_TYPE=Release @@ -110,6 +126,7 @@ jobs: echo "FS_RELEASE_TYPE=${FS_RELEASE_TYPE}" >> $GITHUB_ENV echo "FS_RELEASE_CHAN=${FS_RELEASE_CHAN}" >> $GITHUB_ENV echo "Building for channel ${FS_RELEASE_CHAN}" + viewer_channel=${FS_RELEASE_CHAN} shell: bash - name: Get the code @@ -238,9 +255,18 @@ jobs: shell: bash - name: build + id: build run: autobuild build -c ReleaseFS -A${{matrix.addrsize}} --no-configure shell: bash - + # - name: Extract version number + # id: version + # shell: bash + # run: | + # if [ -r "indra/newview/viewer_version.txt" ] + # then + # viewer_version="$(<"$build_dir/newview/viewer_version.txt")" + # echo "viewer_version=$viewer_version" >> "$GITHUB_OUTPUT" + # fi - name: Publish artifacts if: runner.os == 'Windows' uses: actions/upload-artifact@v3 @@ -267,9 +293,37 @@ jobs: path: | build-darwin-*/newview/*.dmg build-darwin-*/newview/*.bz2 + # post-windows-symbols: + # needs: build_matrix + # runs-on: ubuntu-latest + # steps: + # - name: Post Windows symbols + # uses: secondlife/viewer-build-util/post-bugsplat-windows@v1 + # with: + # username: ${{ secrets.BUGSPLAT_USER }} + # password: ${{ secrets.BUGSPLAT_PASS }} + # database: "firestorm_release" + # channel: ${{ needs.build_matrix.outputs.viewer_channel }} + # version: ${{ needs.build_matrix.outputs.viewer_version }} + + # post-mac-symbols: + # needs: build_matrix + # runs-on: ubuntu-latest + # steps: + # - name: Post Mac symbols + # uses: secondlife/viewer-build-util/post-bugsplat-mac@v1 + # with: + # username: ${{ secrets.BUGSPLAT_USER }} + # password: ${{ secrets.BUGSPLAT_PASS }} + # database: "firestorm_release" + # channel: ${{ needs.build_matrix.outputs.viewer_channel }} + # version: ${{ needs.build_matrix.outputs.viewer_version }} deploy: runs-on: ubuntu-latest needs: build_matrix + env: + FS_BUILD_WEBHOOK_URL: + FS_RELEASE_FOLDER: if: always() steps: - name: Checkout files diff --git a/FIRESTORM-SOURCE_LICENSE_HEADER.txt b/FIRESTORM-SOURCE_LICENSE_HEADER.txt index 19eedbfa2e..44f7834caf 100644 --- a/FIRESTORM-SOURCE_LICENSE_HEADER.txt +++ b/FIRESTORM-SOURCE_LICENSE_HEADER.txt @@ -2,9 +2,9 @@ * @file * @brief * - * $LicenseInfo:firstyear=2023&license=fsviewerlgpl$ + * $LicenseInfo:firstyear=2024&license=fsviewerlgpl$ * Phoenix Firestorm Viewer Source Code - * Copyright (C) 2020, The Phoenix Firestorm Project, Inc. + * Copyright (C) 2024, The Phoenix Firestorm Project, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/README.md b/README.md new file mode 100644 index 0000000000..cb09b89340 --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ + + Firestorm Viewer Logo + + +**[Firestorm](https://www.firestormviewer.org/) is a free client for 3D virtual worlds such as Second Life and various OpenSim worlds where users can create, connect and chat with others from around the world.** This repository contains the official source code for the Firestorm viewer. + +## Open Source + +Firestorm is a third party viewer derived from the official [Second Life](https://github.com/secondlife/viewer) client. The client codebase has been open source since 2007 and is available under the LGPL license. + +## Download + +Pre-built versions of the viewer releases for Windows, Mac and Linux can be downloaded from the [official website](https://www.firestormviewer.org/choose-your-platform/). + +## Build Instructions + +Build instructions for each operating system can be found in the official [wiki](https://wiki.firestormviewer.org/). + +- [Windows](https://wiki.firestormviewer.org/fs_compiling_firestorm_windows) + +- [Mac](https://wiki.firestormviewer.org/fs_compiling_firestorm_macos) + +- [Linux](https://wiki.firestormviewer.org/fs_compiling_firestorm_linux) + +Please note that we do not provide support for compiling the viewer or issues resulting from using a self-compiled viewer. However, there is a self-compilers group within Second Life that can be joined to ask questions related to compiling the viewer: [Firestorm Self Compilers](secondlife:///app/group/2014ce4c-5393-fb67-83ac-910db84c273c/about) + +## Contribute + +Help make Firestorm better! You can get involved with improvements by filing bugs and suggesting enhancements via [JIRA](https://jira.firestormviewer.org) or creating pull requests. diff --git a/autobuild.xml b/autobuild.xml index 2aca0fad61..5cbfe5e686 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -4257,7 +4257,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors license_file docs/LICENSE-source.txt copyright - Copyright (c) 2023, The Phoenix Firestorm Project, Inc. + Copyright (c) 2024, The Phoenix Firestorm Project, Inc. version_file newview/viewer_version.txt name diff --git a/doc/firestorm_256.png b/doc/firestorm_256.png new file mode 100644 index 0000000000..c440137b72 Binary files /dev/null and b/doc/firestorm_256.png differ diff --git a/indra/llaudio/llaudioengine.cpp b/indra/llaudio/llaudioengine.cpp index 2c4a57675e..5f87ac225d 100644 --- a/indra/llaudio/llaudioengine.cpp +++ b/indra/llaudio/llaudioengine.cpp @@ -411,7 +411,7 @@ void LLAudioEngine::idle() for (source_map::value_type& src_pair : mAllSources) { LLAudioSource *sourcep = src_pair.second; - if (sourcep->isMuted() && sourcep->isSyncMaster() && sourcep->getPriority() > max_sm_priority) + if (!sourcep->isMuted() && sourcep->isSyncMaster() && sourcep->getPriority() > max_sm_priority) { sync_masterp = sourcep; master_channelp = sync_masterp->getChannel(); diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 6154c520aa..be2375d0b8 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -2546,7 +2546,7 @@ if (DARWIN) set(MACOSX_BUNDLE_BUNDLE_NAME "Firestorm") set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}") set(MACOSX_BUNDLE_BUNDLE_VERSION "${VIEWER_SHORT_VERSION}${VIEWER_MACOSX_PHASE}${VIEWER_REVISION}") - set(MACOSX_BUNDLE_COPYRIGHT "Copyright 2010-2023 The Phoenix Firestorm Project, Inc.") + set(MACOSX_BUNDLE_COPYRIGHT "Copyright 2010-2024 The Phoenix Firestorm Project, Inc.") set(MACOSX_BUNDLE_NSMAIN_NIB_FILE "Firestorm.nib") set(MACOSX_BUNDLE_NSPRINCIPAL_CLASS "LLApplication") diff --git a/indra/newview/English.lproj/InfoPlist.strings b/indra/newview/English.lproj/InfoPlist.strings index 1afe5749be..b19cda2ddd 100644 --- a/indra/newview/English.lproj/InfoPlist.strings +++ b/indra/newview/English.lproj/InfoPlist.strings @@ -3,4 +3,4 @@ CFBundleName = "Firestorm"; CFBundleShortVersionString = "Firestorm version %%VERSION%%"; -CFBundleGetInfoString = "Firestorm version %%VERSION%%, Copyright 2010-2023 The Phoenix Firestorm Project, Inc."; +CFBundleGetInfoString = "Firestorm version %%VERSION%%, Copyright 2010-2024 The Phoenix Firestorm Project, Inc."; diff --git a/indra/newview/fspanelprefs.cpp b/indra/newview/fspanelprefs.cpp index 40c2c3bc2e..0f2bf603bd 100644 --- a/indra/newview/fspanelprefs.cpp +++ b/indra/newview/fspanelprefs.cpp @@ -283,4 +283,5 @@ void FSPanelPrefs::onResetDefaultFolders() gSavedPerAccountSettings.getControl("TextureUploadFolder")->resetToDefault(true); gSavedPerAccountSettings.getControl("SoundUploadFolder")->resetToDefault(true); gSavedPerAccountSettings.getControl("AnimationUploadFolder")->resetToDefault(true); + gSavedPerAccountSettings.getControl("PBRUploadFolder")->resetToDefault(true); } diff --git a/indra/newview/llcolorswatch.cpp b/indra/newview/llcolorswatch.cpp index 036ff17074..d772a92745 100644 --- a/indra/newview/llcolorswatch.cpp +++ b/indra/newview/llcolorswatch.cpp @@ -52,6 +52,8 @@ LLColorSwatchCtrl::Params::Params() border_color("border_color"), label_width("label_width", -1), label_height("label_height", -1), + text_enabled_color("text_enabled_color"), // Add label/caption colors + text_disabled_color("text_disabled_color"), // Add label/caption colors caption_text("caption_text"), border("border") { @@ -66,6 +68,8 @@ LLColorSwatchCtrl::LLColorSwatchCtrl(const Params& p) mOnCancelCallback(p.cancel_callback()), mOnSelectCallback(p.select_callback()), mBorderColor(p.border_color()), + mTextEnabledColor(p.text_enabled_color), // Add label/caption colors + mTextDisabledColor(p.text_disabled_color), // Add label/caption colors mLabelWidth(p.label_width), mLabelHeight(p.label_height) { @@ -95,6 +99,8 @@ LLColorSwatchCtrl::LLColorSwatchCtrl(const Params& p) params.rect(border_rect); mBorder = LLUICtrlFactory::create (params); addChild(mBorder); + + updateLabelColor(); // Add label/caption colors } LLColorSwatchCtrl::~LLColorSwatchCtrl () @@ -250,12 +256,18 @@ void LLColorSwatchCtrl::draw() } } + mCaption->setEnabled(getEnabled() && isInEnabledChain()); // Add label/caption colors + LLUICtrl::draw(); } void LLColorSwatchCtrl::setEnabled( BOOL enabled ) { - mCaption->setEnabled( enabled ); + // Add label/caption colors + // mCaption->setEnabled( enabled ); + mCaption->setEnabled(enabled && isInEnabledChain()); + // + LLView::setEnabled( enabled ); if (!enabled) @@ -374,3 +386,10 @@ void LLColorSwatchCtrl::showPicker(BOOL take_focus) } } +// Add label/caption colors +void LLColorSwatchCtrl::updateLabelColor() +{ + mCaption->setColor(mTextEnabledColor.get()); + mCaption->setReadOnlyColor(mTextDisabledColor.get()); +} +// diff --git a/indra/newview/llcolorswatch.h b/indra/newview/llcolorswatch.h index a17cab486a..5c0afe3d1f 100644 --- a/indra/newview/llcolorswatch.h +++ b/indra/newview/llcolorswatch.h @@ -62,6 +62,10 @@ public: Optional caption_text; Optional border; + + Optional text_enabled_color; // Add label/caption colors + Optional text_disabled_color; // Add label/caption colors + Params(); }; @@ -100,7 +104,12 @@ public: static void onColorChanged ( void* data, EColorPickOp pick_op = COLOR_CHANGE ); void closeFloaterColorPicker(); + void setLabelColor(const LLColor4& c) { mTextEnabledColor = c; updateLabelColor(); } // Add label/caption colors + void setDisabledLabelColor(const LLColor4& c) { mTextDisabledColor = c; updateLabelColor(); } // Add label/caption colors + protected: + void updateLabelColor(); // Add label/caption colors + bool mValid; LLColor4 mColor; LLUIColor mBorderColor; @@ -116,6 +125,9 @@ protected: LLPointer mAlphaGradientImage; LLPointer mFallbackImage; + + LLUIColor mTextEnabledColor; // Add label/caption colors + LLUIColor mTextDisabledColor; // Add label/caption colors }; #endif // LL_LLBUTTON_H diff --git a/indra/newview/llfloaterautoreplacesettings.cpp b/indra/newview/llfloaterautoreplacesettings.cpp index 516a4d15d6..a0e43ca1a7 100644 --- a/indra/newview/llfloaterautoreplacesettings.cpp +++ b/indra/newview/llfloaterautoreplacesettings.cpp @@ -33,7 +33,6 @@ #include "llagent.h" #include "llpanel.h" #include "llbutton.h" -#include "llcolorswatch.h" #include "llcombobox.h" #include "llview.h" #include "llbufferstream.h" diff --git a/indra/newview/llfloaterinspect.cpp b/indra/newview/llfloaterinspect.cpp index 8afc10b757..b9a34345f1 100644 --- a/indra/newview/llfloaterinspect.cpp +++ b/indra/newview/llfloaterinspect.cpp @@ -49,7 +49,7 @@ // [/RLVa:KB] // PoundLife - Improved Object Inspect #include "llresmgr.h" -#include "lltexturectrl.h" +#include "lltextbase.h" #include "llviewerobjectlist.h" //gObjectList #include "llviewertexturelist.h" // PoundLife END diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index 9e7ec05e1c..2687d574c5 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -206,8 +206,8 @@ LLPanelMainInventory::LLPanelMainInventory(const LLPanel::Params& p) mFilterMap["filter_type_sounds"] = 0x01 << LLInventoryType::IT_SOUND; mFilterMap["filter_type_textures"] = 0x01 << LLInventoryType::IT_TEXTURE; mFilterMap["filter_type_snapshots"] = 0x01 << LLInventoryType::IT_SNAPSHOT; - mFilterMap["filter_type_meshes"] = 0x01 << LLInventoryType::IT_MESH; mFilterMap["filter_type_settings"] = 0x01 << LLInventoryType::IT_SETTINGS; + mFilterMap["filter_type_materials"] = 0x01 << LLInventoryType::IT_MATERIAL; // initialize empty filter mask mFilterMask = 0; diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp index e9fe4324da..a13acea9b7 100644 --- a/indra/newview/llpanelobject.cpp +++ b/indra/newview/llpanelobject.cpp @@ -42,7 +42,6 @@ #include "llbutton.h" #include "llcalc.h" #include "llcheckboxctrl.h" -#include "llcolorswatch.h" #include "llcombobox.h" #include "llfocusmgr.h" #include "llmanipscale.h" diff --git a/indra/newview/llpanelobject.h b/indra/newview/llpanelobject.h index 69a5d70b11..2aff1a776e 100644 --- a/indra/newview/llpanelobject.h +++ b/indra/newview/llpanelobject.h @@ -40,7 +40,6 @@ class LLButton; class LLMenuButton; class LLViewerObject; class LLComboBox; -class LLColorSwatchCtrl; class LLTextureCtrl; class LLInventoryItem; class LLUUID; diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index 8ca6d4b26e..c3eeb8710c 100644 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -1759,6 +1759,8 @@ LLTextureCtrl::LLTextureCtrl(const LLTextureCtrl::Params& p) mDefaultImageAssetID(p.default_image_id), mDefaultImageName(p.default_image_name), mFallbackImage(p.fallback_image), + mTextEnabledColor(p.text_enabled_color), // Add label/caption colors + mTextDisabledColor(p.text_disabled_color), // Add label/caption colors // Mask texture if desired mIsMasked(FALSE) { @@ -1773,7 +1775,10 @@ LLTextureCtrl::LLTextureCtrl(const LLTextureCtrl::Params& p) LLTextBox::Params params(p.caption_text); params.name(p.label); - params.rect(LLRect( 0, BTN_HEIGHT_SMALL, getRect().getWidth(), 0 )); + // Fix label width + // params.rect(LLRect( 0, BTN_HEIGHT_SMALL, getRect().getWidth(), 0 )); + params.rect(LLRect( 0, BTN_HEIGHT_SMALL, p.label_width == -1 ? getRect().getWidth() : p.label_width, 0 )); + // params.initial_value(p.label()); params.follows.flags(FOLLOWS_LEFT | FOLLOWS_RIGHT | FOLLOWS_BOTTOM); mCaption = LLUICtrlFactory::create (params); @@ -1811,6 +1816,8 @@ LLTextureCtrl::LLTextureCtrl(const LLTextureCtrl::Params& p) addChild(mBorder); mLoadingPlaceholderString = LLTrans::getString("texture_loading"); + + updateLabelColor(); // Add label/caption colors } LLTextureCtrl::~LLTextureCtrl() @@ -1895,7 +1902,10 @@ void LLTextureCtrl::setEnabled( BOOL enabled ) closeDependentFloater(); } - mCaption->setEnabled( enabled ); + // Add label/caption colors + // mCaption->setEnabled( enabled ); + mCaption->setEnabled(enabled && isInEnabledChain()); + // // Texture preview mode //LLView::setEnabled( enabled ); @@ -2420,6 +2430,8 @@ void LLTextureCtrl::draw() } } + mCaption->setEnabled(getEnabled() && isInEnabledChain()); // Add label/caption colors + LLUICtrl::draw(); } @@ -2526,7 +2538,10 @@ LLSD LLTextureCtrl::getValue() const return LLSD(getImageAssetID()); } - - - - +// Add label/caption colors +void LLTextureCtrl::updateLabelColor() +{ + mCaption->setColor(mTextEnabledColor.get()); + mCaption->setReadOnlyColor(mTextDisabledColor.get()); +} +// diff --git a/indra/newview/lltexturectrl.h b/indra/newview/lltexturectrl.h index 98d810273e..a8814e7f88 100644 --- a/indra/newview/lltexturectrl.h +++ b/indra/newview/lltexturectrl.h @@ -122,6 +122,9 @@ public: Optional border; Optional show_caption; // leave some room underneath the image for the caption + Optional text_enabled_color; // Add label/caption colors + Optional text_disabled_color; // Add label/caption colors + Params() : image_id("image"), default_image_id("default_image_id"), @@ -134,6 +137,8 @@ public: fallback_image("fallback_image"), multiselect_text("multiselect_text"), show_caption("show_caption", true), // leave some room underneath the image for the caption + text_enabled_color("text_enabled_color"), // Add label/caption colors + text_disabled_color("text_disabled_color"), // Add label/caption colors caption_text("caption_text"), border("border") {} @@ -250,10 +255,15 @@ public: // Mask texture if desired void setIsMasked(BOOL masked) { mIsMasked = masked; } + void setLabelColor(const LLColor4& c) { mTextEnabledColor = c; updateLabelColor(); } // Add label/caption colors + void setDisabledLabelColor(const LLColor4& c) { mTextDisabledColor = c; updateLabelColor(); } // Add label/caption colors + private: BOOL allowDrop(LLInventoryItem* item, EDragAndDropType cargo_type, std::string& tooltip_msg); BOOL doDrop(LLInventoryItem* item); + void updateLabelColor(); // Add label/caption colors + private: drag_n_drop_callback mDragCallback; drag_n_drop_callback mDropCallback; @@ -293,6 +303,9 @@ private: // Mask texture if desired BOOL mIsMasked; + + LLUIColor mTextEnabledColor; // Add label/caption colors + LLUIColor mTextDisabledColor; // Add label/caption colors }; ////////////////////////////////////////////////////////////////////////////////////////// diff --git a/indra/newview/lltoolplacer.cpp b/indra/newview/lltoolplacer.cpp index 5943d7de1f..dc573ce2d7 100644 --- a/indra/newview/lltoolplacer.cpp +++ b/indra/newview/lltoolplacer.cpp @@ -200,7 +200,16 @@ BOOL LLToolPlacer::raycastForNewObjPos( S32 x, S32 y, LLViewerObject** hit_obj, } else { - LLVector3d ray_end_global = ray_start_global + (1.f + max_dist_from_camera) * mouse_direction; // add an epsilon to the sim version of the ray to avoid rounding problems. + // Fix not being able to rez a box on top of a prim when MaxSelectDistance is shorter + // than the surface distance, even though LimitSelectDistance is switched off. + // LLVector3d ray_end_global = ray_start_global + (1.f + max_dist_from_camera) * mouse_direction; // add an epsilon to the sim version of the ray to avoid rounding problems. + F32 max_raycast_dist = 129.0f; + if (limitSelectDistance) + { + max_raycast_dist = max_dist_from_camera; + } + LLVector3d ray_end_global = ray_start_global + max_raycast_dist * mouse_direction; // add an epsilon to the sim version of the ray to avoid rounding problems. + // *ray_end_region = regionp->getPosRegionFromGlobal( ray_end_global ); } diff --git a/indra/newview/llviewerinput.cpp b/indra/newview/llviewerinput.cpp index 4610d4f226..7035cda219 100644 --- a/indra/newview/llviewerinput.cpp +++ b/indra/newview/llviewerinput.cpp @@ -938,12 +938,14 @@ bool voice_follow_key(EKeystate s) if (KEYSTATE_DOWN == s) { if (!LLAgent::isActionAllowed("speak")) return false; + if (!LLVoiceClient::getInstance()->getUserPTTState()) make_ui_sound("UISndMicToggle"); // FIRE-33249 Mic toggle LLVoiceClient::getInstance()->setUserPTTState(true); return true; } else if (KEYSTATE_UP == s && LLVoiceClient::getInstance()->getUserPTTState()) { LLVoiceClient::getInstance()->setUserPTTState(false); + make_ui_sound("UISndMicToggle"); // FIRE-33249 Mic toggle return true; } return false; diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index d6344ccb66..9d98ae9af5 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -628,7 +628,6 @@ void LLVoiceClient::setUserPTTState(bool ptt) mUserPTTState = ptt; updateMicMuteLogic(); mMicroChangedSignal(); - make_ui_sound("UISndMicToggle"); // FIRE-33249 Mic toggle } bool LLVoiceClient::getUserPTTState() @@ -678,12 +677,14 @@ void LLVoiceClient::inputUserControlState(bool down) else // set open-mic state as an absolute { setUserPTTState(down); + make_ui_sound("UISndMicToggle"); // FIRE-33249 Mic toggle } } void LLVoiceClient::toggleUserPTTState(void) { setUserPTTState(!getUserPTTState()); + make_ui_sound("UISndMicToggle"); // FIRE-33249 Mic toggle } diff --git a/indra/newview/res/viewerRes.rc b/indra/newview/res/viewerRes.rc index dd0da75631..ade5c477c7 100755 --- a/indra/newview/res/viewerRes.rc +++ b/indra/newview/res/viewerRes.rc @@ -161,7 +161,7 @@ BEGIN VALUE "FileDescription", "Firestorm" VALUE "FileVersion", "${VIEWER_VERSION_MAJOR}.${VIEWER_VERSION_MINOR}.${VIEWER_VERSION_PATCH}.${VIEWER_VERSION_REVISION}" VALUE "InternalName", "Firestorm" - VALUE "LegalCopyright", "Copyright \251 2010-2023, The Phoenix Firestorm Project, Inc." + VALUE "LegalCopyright", "Copyright \251 2010-2024, The Phoenix Firestorm Project, Inc." VALUE "OriginalFilename", "Firestorm.exe" VALUE "ProductName", "Firestorm" VALUE "ProductVersion", "${VIEWER_VERSION_MAJOR}.${VIEWER_VERSION_MINOR}.${VIEWER_VERSION_PATCH}.${VIEWER_VERSION_REVISION}" diff --git a/indra/newview/skins/ansastorm/xui/de/panel_main_inventory.xml b/indra/newview/skins/ansastorm/xui/de/panel_main_inventory.xml index c20ad85a5c..0daf2b5c6b 100644 --- a/indra/newview/skins/ansastorm/xui/de/panel_main_inventory.xml +++ b/indra/newview/skins/ansastorm/xui/de/panel_main_inventory.xml @@ -110,8 +110,8 @@ - + diff --git a/indra/newview/skins/ansastorm/xui/en/panel_main_inventory.xml b/indra/newview/skins/ansastorm/xui/en/panel_main_inventory.xml index 5837a3608d..63596de5fa 100644 --- a/indra/newview/skins/ansastorm/xui/en/panel_main_inventory.xml +++ b/indra/newview/skins/ansastorm/xui/en/panel_main_inventory.xml @@ -736,7 +736,7 @@ - + diff --git a/indra/newview/skins/ansastorm/xui/es/panel_main_inventory.xml b/indra/newview/skins/ansastorm/xui/es/panel_main_inventory.xml index 418e5978ce..c336d30872 100644 --- a/indra/newview/skins/ansastorm/xui/es/panel_main_inventory.xml +++ b/indra/newview/skins/ansastorm/xui/es/panel_main_inventory.xml @@ -82,7 +82,6 @@ - diff --git a/indra/newview/skins/ansastorm/xui/pl/panel_main_inventory.xml b/indra/newview/skins/ansastorm/xui/pl/panel_main_inventory.xml index b9d066633a..1ccf340066 100644 --- a/indra/newview/skins/ansastorm/xui/pl/panel_main_inventory.xml +++ b/indra/newview/skins/ansastorm/xui/pl/panel_main_inventory.xml @@ -109,7 +109,6 @@ - diff --git a/indra/newview/skins/ansastorm/xui/ru/panel_main_inventory.xml b/indra/newview/skins/ansastorm/xui/ru/panel_main_inventory.xml index c3e431c567..1973b9e42b 100644 --- a/indra/newview/skins/ansastorm/xui/ru/panel_main_inventory.xml +++ b/indra/newview/skins/ansastorm/xui/ru/panel_main_inventory.xml @@ -97,7 +97,6 @@ - diff --git a/indra/newview/skins/default/xui/az/panel_main_inventory.xml b/indra/newview/skins/default/xui/az/panel_main_inventory.xml index daa5c08f3a..2871d62738 100644 --- a/indra/newview/skins/default/xui/az/panel_main_inventory.xml +++ b/indra/newview/skins/default/xui/az/panel_main_inventory.xml @@ -37,7 +37,6 @@ - diff --git a/indra/newview/skins/default/xui/da/panel_main_inventory.xml b/indra/newview/skins/default/xui/da/panel_main_inventory.xml index 37a17f4bd6..ac57bae70d 100644 --- a/indra/newview/skins/default/xui/da/panel_main_inventory.xml +++ b/indra/newview/skins/default/xui/da/panel_main_inventory.xml @@ -10,7 +10,7 @@ Genstande: - +