Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm
# Conflicts: # indra/newview/VIEWER_VERSION.txt # indra/newview/llpanelface.cpp # indra/newview/skins/default/xui/en/panel_tools_texture.xmlmaster
commit
abc44d584e
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
|
|
@ -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=" %"
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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 > 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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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*")
|
||||
|
|
|
|||
Loading…
Reference in New Issue