# Conflicts:
#	indra/newview/VIEWER_VERSION.txt
#	indra/newview/llpanelface.cpp
#	indra/newview/skins/default/xui/en/panel_tools_texture.xml
master
Ansariel 2023-05-03 14:14:14 +02:00
commit abc44d584e
18 changed files with 200 additions and 17 deletions

View File

@ -272,7 +272,7 @@ elseif(LINUX)
libhunspell-1.3.so.0.0.0
libopenjp2.so
#libopenjp2.so
libuuid.so.16
libuuid.so.16.0.22

View File

@ -92,6 +92,8 @@
#include "llsdserialize.h"
#include "llinventorymodel.h"
#include <unordered_set> // <FS:Zi> Find all faces with same texture
using namespace std::literals;
LLPanelFace::Selection LLPanelFace::sMaterialOverrideSelection;
@ -571,6 +573,12 @@ BOOL LLPanelFace::postBuild()
clearCtrls();
// <FS:Zi> Find all faces with same texture
getChild<LLUICtrl>("btn_select_same_diff")->setEnabled(false);
getChild<LLUICtrl>("btn_select_same_norm")->setEnabled(false);
getChild<LLUICtrl>("btn_select_same_spec")->setEnabled(false);
// </FS:Zi>
return TRUE;
}
@ -587,6 +595,10 @@ LLPanelFace::LLPanelFace()
//mCommitCallbackRegistrar.add("PanelFace.menuDoToSelected", boost::bind(&LLPanelFace::menuDoToSelected, this, _2));
//mEnableCallbackRegistrar.add("PanelFace.menuEnable", boost::bind(&LLPanelFace::menuEnableItem, this, _2));
// </FS>
// <FS:Zi> Find all faces with same texture
mCommitCallbackRegistrar.add("BuildTool.SelectSameTexture", boost::bind(&LLPanelFace::onClickBtnSelectSameTexture, this, _1, _2));
// </FS:Zi>
}
LLPanelFace::~LLPanelFace()
@ -1882,6 +1894,12 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/)
calcp->setVar(LLCalc::TEX_ROTATION, getCurrentTextureRot());
calcp->setVar(LLCalc::TEX_TRANSPARENCY, childGetValue("ColorTrans").asReal());
calcp->setVar(LLCalc::TEX_GLOW, childGetValue("glow").asReal());
// <FS:Zi> Find all faces with same texture
getChild<LLUICtrl>("btn_select_same_diff")->setEnabled(LLSelectMgr::getInstance()->getTEMode() && mTextureCtrl->getEnabled());
getChild<LLUICtrl>("btn_select_same_norm")->setEnabled(LLSelectMgr::getInstance()->getTEMode() && mBumpyTextureCtrl->getEnabled());
getChild<LLUICtrl>("btn_select_same_spec")->setEnabled(LLSelectMgr::getInstance()->getTEMode() && mShinyTextureCtrl->getEnabled());
// </FS:Zi>
}
else
{
@ -2952,6 +2970,12 @@ void LLPanelFace::updateVisibility()
// PBR controls
updateVisibilityGLTF();
// <FS:Zi> Find all faces with same texture
getChild<LLUICtrl>("btn_select_same_diff")->setVisible(mTextureCtrl->getVisible());
getChild<LLUICtrl>("btn_select_same_norm")->setVisible(mBumpyTextureCtrl->getVisible());
getChild<LLUICtrl>("btn_select_same_spec")->setVisible(mShinyTextureCtrl->getVisible());
// </FS:Zi>
}
// static
@ -5534,3 +5558,81 @@ void LLPanelFace::changePrecision(S32 decimal_precision)
}
// </FS:CR>
// <FS:Zi> Find all faces with same texture
void LLPanelFace::onClickBtnSelectSameTexture(const LLUICtrl* ctrl, const LLSD& user_data)
{
char channel = user_data.asStringRef()[0];
std::unordered_set<LLViewerObject*> objects;
// get a list of all linksets where at least one face is selected
for (auto iter = LLSelectMgr::getInstance()->getSelection()->valid_begin();
iter != LLSelectMgr::getInstance()->getSelection()->valid_end(); iter++)
{
objects.insert((*iter)->getObject()->getRootEdit());
}
// clean out the selection
LLSelectMgr::getInstance()->deselectAll();
// select all faces of all linksets that were found before
LLObjectSelectionHandle handle;
for(auto objectp : objects)
{
handle = LLSelectMgr::getInstance()->selectObjectAndFamily(objectp, true, false);
}
// grab the texture ID from the texture selector
LLTextureCtrl* texture_control = mTextureCtrl;
if (channel == 'n')
{
texture_control = mBumpyTextureCtrl;
}
else if (channel == 's')
{
texture_control = mShinyTextureCtrl;
}
LLUUID id = texture_control->getImageAssetID();
// go through all selected links in all selecrted linksets
for (auto iter = handle->begin(); iter != handle->end(); iter++)
{
LLSelectNode* node = *iter;
LLViewerObject* objectp = node->getObject();
U8 te_count = objectp->getNumTEs();
for (U8 i = 0; i < te_count; i++)
{
LLUUID image_id;
if (channel == 'd')
{
image_id = objectp->getTEImage(i)->getID();
}
else
{
const LLMaterialPtr mat = objectp->getTEref(i).getMaterialParams();
if (mat.notNull())
{
if (channel == 'n')
{
image_id = mat->getNormalID();
}
else if (channel == 's')
{
image_id = mat->getSpecularID();
}
}
}
// deselect all faces that use a different texture UUID
if (image_id != id)
{
objectp->setTESelected(i, false);
node->selectTE(i, false);
}
}
}
}
// </FS:Zi>

View File

@ -250,6 +250,8 @@ protected:
void onPasteFaces();
// </FS>
void onClickBtnSelectSameTexture(const LLUICtrl* ctrl, const LLSD& user_data); // <FS:Zi> Find all faces with same texture
public: // needs to be accessible to selection manager
void onCopyColor(); // records all selected faces
void onPasteColor(); // to specific face

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="performance" title="Grafik-Performance-Verbesserung (experimentell)">
<floater name="performance" title="Grafik-Performance-Verbesserung">
<floater.string name="frame_stats">
Frame: [TOT_FRAME_TIME]ms - Szenerie:[SCENERY_FRAME_PCT]% Avatare:[AV_FRAME_PCT]% UI:[UI_FRAME_PCT]% HUDs:[HUDS_FRAME_PCT]% Swap:[SWAP_FRAME_PCT]% Tasks:[IDLE_FRAME_PCT]%
</floater.string>

View File

@ -19,10 +19,12 @@
</text>
<name_list name="nearby_list">
<name_list.columns tool_tip="Balkendiagram der benötigten Renderzeit (inkl. Auto-Anpassung) in Prozent, basierend auf dem Langsamsten." name="art_visual" />
<name_list.columns tool_tip="Avatar-Renderzeit (ART). Tatsächlich benötigte Zeit in Mikrosekunden für die Darstellung des Avatars vor Auto-Anpassung." name="art_value" />
<name_list.columns label="Zeit (μs)" tool_tip="Avatar-Renderzeit (ART). Tatsächlich benötigte Zeit in Mikrosekunden für die Darstellung des Avatars vor Auto-Anpassung." name="art_value" />
<name_list.columns label="Ang. Zeit (μs)" tool_tip="Avatar-Renderzeit (ART). Tatsächlich benötigte Zeit in Mikrosekunden für die Darstellung des Avatars nach Anpassungen." name="adj_art_value" />
<name_list.columns tool_tip="Avatar-Komplexität (ARC) basierend auf Standard-Berechnung." name="complex_value" />
<name_list.columns tool_tip="Zeigt Auto-Anpassung: I = Impostor, S = Kein Schatten." name="state" />
<name_list.columns label="Name" name="name"/>
<name_list.columns label="Übersicht" tool_tip="Wo die Renderzeit anfällt (Geometrie/Shader/Übriges)" name="breakdown"/>
</name_list>
<text name="av_nearby_desc2">
Per Rechts-Klick auf einen Avatar kann auch die Darstellung angepasst werden.

View File

@ -149,4 +149,7 @@
<check_box label="Planare Oberflächen ausrichten" name="checkbox planar align" tool_tip="Richtet Texturen auf allen ausgewählten Flächen wie die zuletzt ausgewählte Fläche aus. Erfordert planares Textur-Mapping."/>
<check_box label="Materialien synchronisieren" name="checkbox_sync_settings" tool_tip="Synchronisiere Texture-Mapping-Parameter"/>
<button name="button align textures" label="Ausrichten" tool_tip="Aktuelle Textur-Schicht ausrichten"/>
<button label="Alle finden" name="btn_select_same_diff" tool_tip="Selektiert alle Oberflächen mit derselben Textur (diffuse) wie die aktuelle"/>
<button label="Alle finden" name="btn_select_same_norm" tool_tip="Selektiert alle Oberflächen mit derselben Holprigkeit (normal) wie die aktuelle"/>
<button label="Alle finden" name="btn_select_same_spec" tool_tip="Selektiert alle Oberflächen mit derselbem Glanz (specular) wie die aktuelle"/>
</panel>

View File

@ -5,7 +5,7 @@
name="performance"
help_topic="fs_performance_floater"
save_rect="true"
title="Improve Graphics Speed (Experimental)"
title="Improve Graphics Speed"
can_resize="false"
min_width="580"
width="580">

View File

@ -413,7 +413,7 @@
name="frame_stats"
label="Frame breakdown"
show_label="true">
<stat_bar name="packet_loss"
<stat_bar name="scenery_frame_pct"
label="Scenery"
orientation="horizontal"
unit_label=" %"
@ -421,7 +421,7 @@
bar_max="100"
tick_spacing="0.5"
show_bar="false"/>
<stat_bar name="packet_loss"
<stat_bar name="avatar_frame_pct"
label="Avatar"
orientation="horizontal"
unit_label=" %"
@ -429,7 +429,7 @@
bar_max="100"
tick_spacing="0.5"
show_bar="false"/>
<stat_bar name="packet_loss"
<stat_bar name="ui_frame_pct"
label="UI"
orientation="horizontal"
unit_label=" %"
@ -437,7 +437,7 @@
bar_max="100"
tick_spacing="0.5"
show_bar="false"/>
<stat_bar name="packet_loss"
<stat_bar name="huds_frame_pct"
label="HUDs"
orientation="horizontal"
unit_label=" %"
@ -445,7 +445,7 @@
bar_max="100"
tick_spacing="0.5"
show_bar="false"/>
<stat_bar name="packet_loss"
<stat_bar name="swap_frame_pct"
label="Swap"
orientation="horizontal"
unit_label=" %"
@ -453,7 +453,7 @@
bar_max="100"
tick_spacing="0.5"
show_bar="false"/>
<stat_bar name="packet_loss"
<stat_bar name="idle_frame_pct"
label="Tasks"
orientation="horizontal"
unit_label=" %"

View File

@ -1042,4 +1042,49 @@
height="4"
start_url="about:blank"
decouple_texture_size="true" />
<!-- <FS:Zi> Find all faces with same texture -->
<button
enabled="false"
layout="topleft"
follows="right|top"
height="23"
left="8"
top="178"
label="Find All"
name="btn_select_same_diff"
tool_tip="Select all faces with the same diffuse texture as this one"
width="90">
<button.commit_callback
function="BuildTool.SelectSameTexture"
parameter="diffuse"/>
</button>
<button
enabled="false"
layout="topleft"
follows="right|top"
height="23"
left_delta="0"
label="Find All"
name="btn_select_same_norm"
tool_tip="Select all faces with the same normal map as this one"
width="90">
<button.commit_callback
function="BuildTool.SelectSameTexture"
parameter="normal"/>
</button>
<button
enabled="false"
layout="topleft"
follows="right|top"
height="23"
left_delta="0"
label="Find All"
name="btn_select_same_spec"
tool_tip="Select all faces with the same specular map as this one"
width="90">
<button.commit_callback
function="BuildTool.SelectSameTexture"
parameter="specular"/>
</button>
<!-- </FS:Zi> -->
</panel>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="performance" title="Améliorer les performances graphiques (expérimental)">
<floater name="performance" title="Améliorer les performances graphiques">
<floater.string name="frame_stats">
Images: [TOT_FRAME_TIME]ms - Scène:[SCENERY_FRAME_PCT]% Avatars:[AV_FRAME_PCT]% UI:[UI_FRAME_PCT]% Huds:[HUDS_FRAME_PCT]% Swap:[SWAP_FRAME_PCT]% Tâches:[IDLE_FRAME_PCT]%
</floater.string>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="performance" title="Migliora Velocità Grafica (sperimentale)">
<floater name="performance" title="Migliora Velocità Grafica">
<floater.string name="frame_stats">
Frame: [TOT_FRAME_TIME]ms - Scenario:[SCENERY_FRAME_PCT]% Avatar:[AV_FRAME_PCT]% UI:[UI_FRAME_PCT]% HUD:[HUDS_FRAME_PCT]% Swap:[SWAP_FRAME_PCT]% Tasks:[IDLE_FRAME_PCT]%
</floater.string>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="performance" title="Popraw szybkość grafiki (eksperymentalne)">
<floater name="performance" title="Popraw szybkość grafiki">
<floater.string name="frame_stats">
Klatki: [TOT_FRAME_TIME]ms - Scena:[SCENERY_FRAME_PCT]% Awatary:[AV_FRAME_PCT]% UI:[UI_FRAME_PCT]% HUDy:[HUDS_FRAME_PCT]% Swap:[SWAP_FRAME_PCT]% Zadania:[IDLE_FRAME_PCT]%
</floater.string>

View File

@ -61,6 +61,13 @@
</stat_view>
</stat_view>
</stat_view>
<stat_view name="frame_stats" label="Składowe klatki">
<stat_bar name="scenery_frame_pct" label="Scena" />
<stat_bar name="avatar_frame_pct" label="Awatary" />
<stat_bar name="ui_frame_pct" label="Interfejs" />
<stat_bar name="huds_frame_pct" label="HUDy" />
<stat_bar name="idle_frame_pct" label="Zadania" />
</stat_view>
</container_view>
</scroll_container>
</floater>

View File

@ -659,6 +659,19 @@ Jakość grafiki została zmniejszona - może to pomóc.
Pewne funkcje graficzne zostały wyłączone. Zalecamy aktualizację sterowników graficznych.
Możesz podnieść jakość grafiki pod Ustawienia &gt; Grafika.
</notification>
<notification name="AutoFPSConfirmDisable">
Zmiana tego ustawienia spowoduje wyłączenie automatycznego strojenia i wyłączenie 'Ustawień automatycznych'.
Czy na pewno chcesz kontynuować?
<usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Kontynuuj" />
</notification>
<notification name="AdvancedLightingConfirm">
Aby włączyć zaawansowane oświetlenie należy podnieść jakość do poziomu 4.
<usetemplate name="okcancelbuttons" notext="Anuluj" />
</notification>
<notification name="ShadowsConfirm">
Aby włączyć cienie należy podnieść jakość do poziomu 4.
<usetemplate name="okcancelbuttons" notext="Anuluj" />
</notification>
<notification name="RegionNoTerraforming">
Region [REGION] nie pozwala na zmianę powierzchni ziemi.
</notification>
@ -5189,6 +5202,12 @@ Riggowane mesze są przeznaczone do dodawania do samego awatara. Ani ty, ani nik
Jeśli chcesz zobaczyć ten obiekt, to usuń go i ponownie dołącz do punktu doczepienia na awatarze.
<usetemplate ignoretext="Ostrzegaj, gdy dodatek z riggowanym meszem jest dołączany do punktu HUD" name="okignore" />
</notification>
<notification name="EnableAutoFPSWarning">
Zamierzasz włączyć funkcję AutoFPS. Wszystkie niezapisane ustawienia grafiki zostaną utracone.
Czy chcesz je najpierw zapisać?
<usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak" />
</notification>
<notification name="NoValidEnvSettingFound">
Nie wybrano prawidłowego ustawienia otoczenia.

View File

@ -17,9 +17,11 @@
<name_list name="nearby_list">
<name_list.columns tool_tip="Wykres słupkowy pokazujący aktualny czas renderowania (w tym autodostrajanie) jako % najwolniejszego." name="art_visual" />
<name_list.columns label="Czas (μs)" tool_tip="Czas renderowania awatara (Avatar Render Time, ART). Rzeczywisty czas potrzebny na wyrenderowanie tego awatara przed automatycznym dostrajaniem (w mikrosekundach)." name="art_value" />
<name_list.columns label="Czas dostr. (μs)" tool_tip="Czas renderowania awatara (Avatar Render Time, ART). Rzeczywisty czas potrzebny na wyrenderowanie tego awatara po dostrajaniu (w mikrosekundach)." name="adj_art_value" />
<name_list.columns tool_tip="Złożoność (ARC) oparta na standardowych zasadach SL." name="complex_value" />
<name_list.columns tool_tip="Pokazuje jakiekolwiek strojenie. I=Awatar zastępczy, S=brak cienia." name="state" />
<name_list.columns label="Imię" name="name"/>
<name_list.columns label="Imię" name="name" />
<name_list.columns label="Składowe" tool_tip="Gdzie zużywany jest czas renderowania (Geometria/Shadery/Inne)" name="breakdown" />
</name_list>
<text name="av_nearby_desc2">
Możesz kliknąć PPM na awatarze w świecie, aby sterować wyświetlaniem.

View File

@ -3,5 +3,6 @@
<text name="Graphic Presets">
Ustawienia graficzne
</text>
<button name="open_prefs_btn" label="Otwórz preferencje graficzne" tool_tip="Otwórz kartę preferencji graficznych" />
<button name="open_prefs_btn" label="Opcje graficzne" tool_tip="Otwórz kartę preferencji graficznych" />
<button name="open_autofps_btn" label="Wydajność" tool_tip="Otwórz okno ustawień wydajności" />
</panel>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="performance" title="Увеличить скорость графики (Экспериментально)">
<floater name="performance" title="Увеличить скорость графики">
<floater.string name="frame_stats">
Кадр:[TOT_FRAME_TIME]ms Сцена:[SCENERY_FRAME_PCT]% Аватары:[AV_FRAME_PCT]% UI:[UI_FRAME_PCT]% HUDS:[HUDS_FRAME_PCT]% Swap:[SWAP_FRAME_PCT]% Задачи:[IDLE_FRAME_PCT]%
</floater.string>

View File

@ -2154,7 +2154,7 @@ class Linux_i686_Manifest(LinuxManifest):
self.path("libdirectfb-1.*.so.*")
self.path("libfusion-1.*.so.*")
self.path("libdirect-1.*.so.*")
self.path("libopenjp2.so*")
#self.path("libopenjp2.so*")
self.path("libdirectfb-1.4.so.5")
self.path("libfusion-1.4.so.5")
self.path("libdirect-1.4.so.5*")