Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm into jp-translation

meow-7.2.2
logue 2025-03-24 22:05:04 +09:00
commit 31ad34c5ca
13 changed files with 126 additions and 36 deletions

View File

@ -25423,6 +25423,17 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<integer>1</integer>
</map>
<key>FSStatusBarShowFPSColors</key>
<map>
<key>Comment</key>
<string>If enabled, display FPS number in a color based on the current status.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>FSExperimentalLostAttachmentsFix</key>
<map>
<key>Comment</key>

View File

@ -37,6 +37,7 @@
#include "llviewerregion.h"
// </FS:Ansariel>
LLAgentBenefits::LLAgentBenefits():
m_initalized(false),
m_animated_object_limit(-1),
@ -213,7 +214,27 @@ S32 LLAgentBenefits::getPicksLimit() const
{
// <FS:Ansariel> OpenSim legacy economy
//return m_picks_limit;
return LLGridManager::instance().isInSecondLife() ? m_picks_limit : LLAgentPicksInfo::instance().getMaxNumberOfPicks();
if (LLGridManager::instance().isInSecondLife())
{
return m_picks_limit;
}
else
{
constexpr S32 MAX_OPENSIM_PICKS_FALLBACK = 20; // [FIRE-35276] Freeze on OpenSim (default agreed with Ubit Umarov) (originally by Haklezz)
S32 max_profile_picks = MAX_OPENSIM_PICKS_FALLBACK;
if (gAgent.getRegion())
{
LLSD features;
gAgent.getRegion()->getSimulatorFeatures(features);
if (features.has("MaxProfilePicks"))
{
max_profile_picks = features["MaxProfilePicks"].asInteger();
}
}
return max_profile_picks;
}
// </FS:Ansariel>
}

View File

@ -386,11 +386,6 @@ void LLFace::switchTexture(U32 ch, LLViewerTexture* new_texture)
return;
}
// <FS:minerjr> [FIRE-35081] Blurry prims not changing with graphics settings, not happening with SL Viewer
// Need to update the new textures to the old textures boost and max virtual size, so they won't
new_texture->setBoostLevel(mTexture[ch]->getBoostLevel());
new_texture->addTextureStats(mTexture[ch]->getMaxVirtualSize());
// </FS:minerjr> [FIRE-35081]
if (ch == LLRender::DIFFUSE_MAP)
{
if (getViewerObject())

View File

@ -604,44 +604,48 @@ void LLStatusBar::refresh()
static LLCachedControl<bool> fsStatusBarShowFPS(gSavedSettings, "FSStatusBarShowFPS");
if (fsStatusBarShowFPS && mFPSUpdateTimer.getElapsedTimeF32() > 1.f)
{
static LLCachedControl<bool> fsStatusBarShowFPSColors(gSavedSettings, "FSStatusBarShowFPSColors");
static LLCachedControl<U32> max_fps(gSavedSettings, "FramePerSecondLimit");
static LLCachedControl<bool> limit_fps_enabled(gSavedSettings, "FSLimitFramerate");
static LLCachedControl<bool> vsync_enabled(gSavedSettings, "RenderVSyncEnable");
static const auto fps_below_limit_color = LLUIColorTable::instance().getColor("Yellow");
static const auto fps_limit_reached_color = LLUIColorTable::instance().getColor("Green");
static const auto vsync_limit_reached_color = LLUIColorTable::instance().getColor("Green");
static const auto fps_uncapped_color = LLUIColorTable::instance().getColor("White");
static const auto fps_unfocussed_color = LLUIColorTable::instance().getColor("Gray");
static const auto fps_below_limit_color = LLUIColorTable::instance().getColor("FpsDisplayBelowLimitColor");
static const auto fps_limit_reached_color = LLUIColorTable::instance().getColor("FpsDisplayFpsLimitReachedColor");
static const auto vsync_limit_reached_color = LLUIColorTable::instance().getColor("FpsDisplayVSyncLimitReachedColor");
static const auto fps_uncapped_color = LLUIColorTable::instance().getColor("FpsDisplayUncappedColor");
static const auto fps_unfocussed_color = LLUIColorTable::instance().getColor("FpsDisplayUnfocussedColor");
static auto current_fps_color = fps_uncapped_color;
mFPSUpdateTimer.reset();
const auto fps = LLTrace::get_frame_recording().getPeriodMedianPerSec(LLStatViewer::FPS);
mFPSText->setText(llformat("%.1f", fps));
// if background, go grey, else go white unless we have a cap (checked next)
auto fps_color{ fps_uncapped_color };
auto window = gViewerWindow ? gViewerWindow->getWindow() : nullptr;
if ((window && !window->getVisible()) || !gFocusMgr.getAppHasFocus())
if (fsStatusBarShowFPSColors)
{
fps_color = fps_unfocussed_color;
}
else
{
S32 vsync_freq{ -1 };
if (window)
// if background, go grey, else go white unless we have a cap (checked next)
auto window = gViewerWindow ? gViewerWindow->getWindow() : nullptr;
if ((window && !window->getVisible()) || !gFocusMgr.getAppHasFocus())
{
vsync_freq = window->getRefreshRate();
fps_color = fps_unfocussed_color;
}
else
{
S32 vsync_freq{ -1 };
if (window)
{
vsync_freq = window->getRefreshRate();
}
if (limit_fps_enabled && max_fps > 0)
{
fps_color = (fps >= max_fps - 1) ? fps_limit_reached_color : fps_below_limit_color;
}
// use vsync if enabled and the freq is lower than the max_fps
if (vsync_enabled && vsync_freq > 0 && (!limit_fps_enabled || vsync_freq < (S32)max_fps))
{
fps_color = (fps >= vsync_freq - 1) ? vsync_limit_reached_color : fps_below_limit_color;
if (limit_fps_enabled && max_fps > 0)
{
fps_color = (fps >= max_fps - 1) ? fps_limit_reached_color : fps_below_limit_color;
}
// use vsync if enabled and the freq is lower than the max_fps
if (vsync_enabled && vsync_freq > 0 && (!limit_fps_enabled || vsync_freq < (S32)max_fps))
{
fps_color = (fps >= vsync_freq - 1) ? vsync_limit_reached_color : fps_below_limit_color;
}
}
}

View File

@ -86,6 +86,10 @@ void LLURLLineEditor::copyEscapedURLToClipboard()
// *HACK: Because LLSLURL is currently broken we cannot use it to check if unescaped_text is a valid SLURL (see EXT-8335).
if (LLStringUtil::startsWith(unescaped_text, "http://") || LLStringUtil::startsWith(unescaped_text, "secondlife://")) // SLURL
text_to_copy = utf8str_to_wstring(LLWeb::escapeURL(unescaped_text));
// <FS:HT> [FIRE-34020] Copy of address bar contents does not URL encode space in region name for OpenSim only
else if (LLStringUtil::startsWith(unescaped_text, "hop://"))
text_to_copy = utf8str_to_wstring(LLWeb::escapeURL(unescaped_text));
// </FS:HT>
else // human-readable location
text_to_copy = utf8str_to_wstring(unescaped_text);

View File

@ -1401,11 +1401,7 @@ F32 LLViewerTextureList::updateImagesFetchTextures(F32 max_time)
iter = mUUIDMap.begin();
}
// <FS:minerjr> [FIRE-35081] Blurry prims not changing with graphics settings, not happening with SL Viewer
//if (iter->second->getGLTexture())
// Can skip processing TEX_LIST_SCALED as they are UI elements and should not be discarded
if (iter->second->getGLTexture() && get_element_type(iter->second->getBoostLevel()) == TEX_LIST_STANDARD)
// </FS:minerjr> [FIRE-35081]
if (iter->second->getGLTexture())
{
entries.push_back(iter->second);
}

View File

@ -1410,4 +1410,19 @@
<color
name="NotecardCursorColor"
reference="TextCursorColor" />
<color
name="FpsDisplayUncappedColor"
reference="LabelTextColor" />
<color
name="FpsDisplayUnfocussedColor"
reference="Gray" />
<color
name="FpsDisplayBelowLimitColor"
reference="Yellow" />
<color
name="FpsDisplayFpsLimitReachedColor"
reference="Green" />
<color
name="FpsDisplayVSyncLimitReachedColor"
reference="Green" />
</colors>

View File

@ -1403,4 +1403,19 @@
<color
name="NotecardCursorColor"
reference="TextCursorColor" />
<color
name="FpsDisplayUncappedColor"
reference="LabelTextColor" />
<color
name="FpsDisplayUnfocussedColor"
reference="Gray" />
<color
name="FpsDisplayBelowLimitColor"
reference="Yellow" />
<color
name="FpsDisplayFpsLimitReachedColor"
reference="Green" />
<color
name="FpsDisplayVSyncLimitReachedColor"
reference="Green" />
</colors>

View File

@ -1378,4 +1378,19 @@
<color
name="NotecardCursorColor"
reference="TextCursorColor" />
<color
name="FpsDisplayUncappedColor"
reference="LabelTextColor" />
<color
name="FpsDisplayUnfocussedColor"
reference="Gray" />
<color
name="FpsDisplayBelowLimitColor"
reference="Yellow" />
<color
name="FpsDisplayFpsLimitReachedColor"
reference="Green" />
<color
name="FpsDisplayVSyncLimitReachedColor"
reference="Green" />
</colors>

View File

@ -10,6 +10,7 @@
<menu_item_check label="Kontostand anzeigen" name="FSShowCurrencyBalanceInStatusbar"/>
<menu_item_check label="Mediensteuerung anzeigen" name="FSEnableVolumeControls"/>
<menu_item_check label="Bilder pro Sekunde anzeigen" name="FSStatusBarShowFPS"/>
<menu_item_check label="Farb-Indikator für Bilder pro Sekunde anzeigen" name="FSStatusBarShowFPSColors"/>
<menu_item_check label="Datentransfer-Indikator anzeigen" name="ShowNetStats"/>
<menu_item_check label="Koordinaten anzeigen" name="Coordinates"/>
<menu_item_check label="Parzelleneigenschaften anzeigen" name="Parcel Properties"/>

View File

@ -33,7 +33,7 @@
<button name="stream_toggle_btn" tool_tip="Audiostream der Parzelle starten/stoppen"/>
<button name="media_toggle_btn" tool_tip="Alle Medien starten/stoppen (Musik, Video, Webseiten)"/>
<button name="volume_btn" tool_tip="Steuerung der Gesamtlautstärke"/>
<text name="FPSText" tool_tip="Bilder pro Sekunde">
<text name="FPSText" tool_tip="Bilder pro Sekunde (klicken, um Begrenzung anzupassen)">
200.0
</text>
</panel>

View File

@ -165,7 +165,7 @@ Additional code generously contributed to Firestorm by:
top_pad="4"
width="450"
wrap="true">
Aira Yumi, Albatroz Hird, Alexie Birman, Andromeda Rage, Angus Boyd, Animats, Armin Weatherwax, Ayane Lyla, Casper Warden, Chalice Yao, Chaser Zaks, Chorazin Allen, Cron Stardust, Damian Zhaoying, Dan Threebeards, Dawa Gurbux, Dax Dupont, Denver Maksim, Dragonborn Forzane, Drake Arconis, Felyza Wishbringer, f0rbidden, Fractured Crystal, Geenz Spad, Gibson Firehawk, Hitomi Tiponi, humbletim, Inusaito Sayori, Jean Severine, Katharine Berry, Kittin Ninetails, Kool Koolhoven, Lance Corrimal, Lassie, Latif Khalifa, Laurent Bechir, Magne Metaverse LLC, Magus Freston, Makidoll, Manami Hokkigai, MartinRJ Fayray, McCabe Maxstead, Melancholy Lemon, Melysmile, Mimika Oh, minerjr, Mister Acacia, MorganMegan, Morgan Pennent, Mysty Saunders, Nagi Michinaga, Name Short, nhede Core, NiranV Dean, Nogardrevlis Lectar, Oren Hurvitz, paperwork, Penny Patton, Peyton Menges, programmtest, Qwerty Venom, rafak360, Rebecca Ashbourne, Revolution Smythe, Romka Swallowtail, Sahkolihaa Contepomi, sal Kaligawa, Samm Florian, Satomi Ahn, Sei Lisa, Sempervirens Oddfellow, Shin Wasp, Shyotl Kuhr, Sione Lomu, Skills Hak, StarlightShining, Sunset Faulkes, Tapple Gao, Testicular Slingshot, Thickbrick Sleaford, Ubit Umarov, Vaalith Jinn, Vincent Sylvester, Whirly Fizzle, Xenhat Liamano, 小滢 Zi Ying, Zwagoth Klaar and others.
Aira Yumi, Albatroz Hird, Alexie Birman, Andromeda Rage, Angus Boyd, Animats, Armin Weatherwax, Ayane Lyla, Casper Warden, Chalice Yao, Chaser Zaks, Chorazin Allen, Cron Stardust, Damian Zhaoying, Dan Threebeards, Dawa Gurbux, Dax Dupont, Denver Maksim, Dragonborn Forzane, Drake Arconis, Felyza Wishbringer, f0rbidden, Fractured Crystal, Geenz Spad, Gibson Firehawk, Hecklezz, Hitomi Tiponi, humbletim, Inusaito Sayori, Jean Severine, Katharine Berry, Kittin Ninetails, Kool Koolhoven, Lance Corrimal, Lassie, Latif Khalifa, Laurent Bechir, Magne Metaverse LLC, Magus Freston, Makidoll, Manami Hokkigai, MartinRJ Fayray, McCabe Maxstead, Melancholy Lemon, Melysmile, Mimika Oh, minerjr, Mister Acacia, MorganMegan, Morgan Pennent, Mysty Saunders, Nagi Michinaga, Name Short, nhede Core, NiranV Dean, Nogardrevlis Lectar, Oren Hurvitz, paperwork, Penny Patton, Peyton Menges, programmtest, Qwerty Venom, rafak360, Rebecca Ashbourne, Revolution Smythe, Romka Swallowtail, Sahkolihaa Contepomi, sal Kaligawa, Samm Florian, Satomi Ahn, Sei Lisa, Sempervirens Oddfellow, Shin Wasp, Shyotl Kuhr, Sione Lomu, Skills Hak, StarlightShining, Sunset Faulkes, Tapple Gao, Testicular Slingshot, Thickbrick Sleaford, Ubit Umarov, Vaalith Jinn, Vincent Sylvester, Whirly Fizzle, Xenhat Liamano, 小滢 Zi Ying, Zwagoth Klaar and others.
</text>
<text
follows="top|left"

View File

@ -118,6 +118,19 @@
function="CheckControl"
parameter="FSStatusBarShowFPS" />
</menu_item_check>
<menu_item_check
label="Show Color Indicator for Frames per Second"
name="FSStatusBarShowFPSColors">
<on_click
function="ToggleControl"
parameter="FSStatusBarShowFPSColors" />
<on_check
function="CheckControl"
parameter="FSStatusBarShowFPSColors" />
<on_enable
function="CheckControl"
parameter="FSStatusBarShowFPS" />
</menu_item_check>
<menu_item_check
label="Show Traffic Indicator"
name="ShowNetStats">