summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yaml50
-rw-r--r--.github/workflows/stale.yaml3
-rwxr-xr-xbuild.sh22
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/skyF.glsl7
-rw-r--r--indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl5
-rw-r--r--indra/newview/lldrawpoolwlsky.cpp3
-rw-r--r--indra/newview/llfloaterregioninfo.cpp106
-rw-r--r--indra/newview/llfloaterregioninfo.h7
8 files changed, 85 insertions, 118 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index df49f5fa42..7e82e42862 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -42,8 +42,6 @@ jobs:
DEVELOPER_DIR: ${{ matrix.developer_dir }}
# Ensure that Linden viewer builds engage Bugsplat.
BUGSPLAT_DB: ${{ matrix.configuration != 'ReleaseOS' && 'SecondLife_Viewer_2018' || '' }}
- BUGSPLAT_PASS: ${{ secrets.BUGSPLAT_PASS }}
- BUGSPLAT_USER: ${{ secrets.BUGSPLAT_USER }}
build_coverity: false
build_log_dir: ${{ github.workspace }}/.logs
build_viewer: true
@@ -262,23 +260,36 @@ jobs:
${{ steps.build.outputs.physicstpv }}
sign-and-package-windows:
+ env:
+ AZURE_KEY_VAULT_URI: ${{ secrets.AZURE_KEY_VAULT_URI }}
+ AZURE_CERT_NAME: ${{ secrets.AZURE_CERT_NAME }}
+ AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
+ AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
+ AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
needs: build
runs-on: windows
steps:
- name: Sign and package Windows viewer
+ if: env.AZURE_KEY_VAULT_URI && env.AZURE_CERT_NAME && env.AZURE_CLIENT_ID && env.AZURE_CLIENT_SECRET && env.AZURE_TENANT_ID
uses: secondlife/viewer-build-util/sign-pkg-windows@v1
with:
- vault_uri: "${{ secrets.AZURE_KEY_VAULT_URI }}"
- cert_name: "${{ secrets.AZURE_CERT_NAME }}"
- client_id: "${{ secrets.AZURE_CLIENT_ID }}"
- client_secret: "${{ secrets.AZURE_CLIENT_SECRET }}"
- tenant_id: "${{ secrets.AZURE_TENANT_ID }}"
+ vault_uri: "${{ env.AZURE_KEY_VAULT_URI }}"
+ cert_name: "${{ env.AZURE_CERT_NAME }}"
+ client_id: "${{ env.AZURE_CLIENT_ID }}"
+ client_secret: "${{ env.AZURE_CLIENT_SECRET }}"
+ tenant_id: "${{ env.AZURE_TENANT_ID }}"
sign-and-package-mac:
+ env:
+ NOTARIZE_CREDS_MACOS: ${{ secrets.NOTARIZE_CREDS_MACOS }}
+ SIGNING_CERT_MACOS: ${{ secrets.SIGNING_CERT_MACOS }}
+ SIGNING_CERT_MACOS_IDENTITY: ${{ secrets.SIGNING_CERT_MACOS_IDENTITY }}
+ SIGNING_CERT_MACOS_PASSWORD: ${{ secrets.SIGNING_CERT_MACOS_PASSWORD }}
needs: build
runs-on: macos-latest
steps:
- name: Unpack Mac notarization credentials
+ if: env.NOTARIZE_CREDS_MACOS
id: note-creds
shell: bash
run: |
@@ -286,7 +297,7 @@ jobs:
# USERNAME="..."
# PASSWORD="..."
# TEAM_ID="..."
- eval "${{ secrets.NOTARIZE_CREDS_MACOS }}"
+ eval "${{ env.NOTARIZE_CREDS_MACOS }}"
echo "::add-mask::$USERNAME"
echo "::add-mask::$PASSWORD"
echo "::add-mask::$TEAM_ID"
@@ -298,39 +309,48 @@ jobs:
[[ -n "$USERNAME" && -n "$PASSWORD" && -n "$TEAM_ID" ]]
- name: Sign and package Mac viewer
+ if: env.SIGNING_CERT_MACOS && env.SIGNING_CERT_MACOS_IDENTITY && env.SIGNING_CERT_MACOS_PASSWORD && steps.note-creds.outputs.note_user && steps.note-creds.outputs.note_pass && steps.note-creds.outputs.note_team
uses: secondlife/viewer-build-util/sign-pkg-mac@v1
with:
channel: ${{ needs.build.outputs.viewer_channel }}
imagename: ${{ needs.build.outputs.imagename }}
- cert_base64: ${{ secrets.SIGNING_CERT_MACOS }}
- cert_name: ${{ secrets.SIGNING_CERT_MACOS_IDENTITY }}
- cert_pass: ${{ secrets.SIGNING_CERT_MACOS_PASSWORD }}
+ cert_base64: ${{ env.SIGNING_CERT_MACOS }}
+ cert_name: ${{ env.SIGNING_CERT_MACOS_IDENTITY }}
+ cert_pass: ${{ env.SIGNING_CERT_MACOS_PASSWORD }}
note_user: ${{ steps.note-creds.outputs.note_user }}
note_pass: ${{ steps.note-creds.outputs.note_pass }}
note_team: ${{ steps.note-creds.outputs.note_team }}
post-windows-symbols:
+ env:
+ BUGSPLAT_USER: ${{ secrets.BUGSPLAT_USER }}
+ BUGSPLAT_PASS: ${{ secrets.BUGSPLAT_PASS }}
needs: build
runs-on: ubuntu-latest
steps:
- name: Post Windows symbols
+ if: env.BUGSPLAT_USER && env.BUGSPLAT_PASS
uses: secondlife/viewer-build-util/post-bugsplat-windows@v1
with:
- username: ${{ secrets.BUGSPLAT_USER }}
- password: ${{ secrets.BUGSPLAT_PASS }}
+ username: ${{ env.BUGSPLAT_USER }}
+ password: ${{ env.BUGSPLAT_PASS }}
database: "SecondLife_Viewer_2018"
channel: ${{ needs.build.outputs.viewer_channel }}
version: ${{ needs.build.outputs.viewer_version }}
post-mac-symbols:
+ env:
+ BUGSPLAT_USER: ${{ secrets.BUGSPLAT_USER }}
+ BUGSPLAT_PASS: ${{ secrets.BUGSPLAT_PASS }}
needs: build
runs-on: ubuntu-latest
steps:
- name: Post Mac symbols
+ if: env.BUGSPLAT_USER && env.BUGSPLAT_PASS
uses: secondlife/viewer-build-util/post-bugsplat-mac@v1
with:
- username: ${{ secrets.BUGSPLAT_USER }}
- password: ${{ secrets.BUGSPLAT_PASS }}
+ username: ${{ env.BUGSPLAT_USER }}
+ password: ${{ env.BUGSPLAT_PASS }}
database: "SecondLife_Viewer_2018"
channel: ${{ needs.build.outputs.viewer_channel }}
version: ${{ needs.build.outputs.viewer_version }}
diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml
index 35ac41420c..e44e223589 100644
--- a/.github/workflows/stale.yaml
+++ b/.github/workflows/stale.yaml
@@ -17,7 +17,8 @@ jobs:
with:
stale-pr-message: This pull request is stale because it has been open 30 days with no activity. Remove stale label or comment or it will be closed in 7 days
days-before-stale: 30
- days-before-close: 7
+ days-before-close: 7
+ days-before-issue-close: -1
exempt-pr-labels: blocked,must,should,keep
stale-pr-label: stale
- name: Print outputs
diff --git a/build.sh b/build.sh
index 22f9e0c78a..f7b3632ee8 100755
--- a/build.sh
+++ b/build.sh
@@ -175,28 +175,6 @@ pre_build()
VIEWER_SYMBOL_FILE="$(native_path "$abs_build_dir/newview/$variant/secondlife-symbols-$symplat-${AUTOBUILD_ADDRSIZE}.tar.bz2")"
fi
- # expect these variables to be set in the environment from GitHub secrets
- if [[ -n "$BUGSPLAT_DB" ]]
- then
- # don't spew credentials into build log
- set +x
- if [[ -z "$BUGSPLAT_USER" || -z "$BUGSPLAT_PASS" ]]
- then
- # older mechanism involving build-secrets repo -
- # if build_secrets_checkout isn't set, report its name
- bugsplat_sh="${build_secrets_checkout:-\$build_secrets_checkout}/bugsplat/bugsplat.sh"
- if [ -r "$bugsplat_sh" ]
- then # show that we're doing this, just not the contents
- echo source "$bugsplat_sh"
- source "$bugsplat_sh"
- else
- fatal "BUGSPLAT_USER or BUGSPLAT_PASS missing, and no $bugsplat_sh"
- fi
- fi
- set -x
- export BUGSPLAT_USER BUGSPLAT_PASS
- fi
-
# honor autobuild_configure_parameters same as sling-buildscripts
eval_autobuild_configure_parameters=$(eval $(echo echo $autobuild_configure_parameters))
diff --git a/indra/newview/app_settings/shaders/class1/deferred/skyF.glsl b/indra/newview/app_settings/shaders/class1/deferred/skyF.glsl
index cc5280d929..596e9321e8 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/skyF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/skyF.glsl
@@ -86,7 +86,9 @@ void main()
pos = env_mat * pos;
vec2 texCoord = vec2(atan(pos.z, pos.x) + PI, acos(pos.y)) / vec2(2.0 * PI, PI);
vec3 color = textureLod(environmentMap, texCoord.xy, 0).rgb * sky_hdr_scale;
- color = min(color, vec3(8192*8192*16));
+ color = min(color, vec3(8192*8192*16)); // stupidly large value arrived at by binary search -- avoids framebuffer corruption from some HDRIs
+
+ frag_data[2] = vec4(0.0,0.0,0.0,GBUFFER_FLAG_HAS_HDRI);
#else
// Potential Fill-rate optimization. Add cloud calculation
@@ -104,12 +106,11 @@ void main()
color.rgb *= 2.;
color.rgb = clamp(color.rgb, vec3(0), vec3(5));
+ frag_data[2] = vec4(0.0,0.0,0.0,GBUFFER_FLAG_SKIP_ATMOS);
#endif
frag_data[0] = vec4(0);
frag_data[1] = vec4(0);
- frag_data[2] = vec4(0.0,0.0,0.0,GBUFFER_FLAG_SKIP_ATMOS);
frag_data[3] = vec4(color.rgb, 1.0);
-
}
diff --git a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
index 5cc7ea698a..9b9739ba22 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
@@ -191,11 +191,12 @@ void main()
}
else if (GET_GBUFFER_FLAG(GBUFFER_FLAG_HAS_HDRI))
{
+ // actual HDRI sky, just copy color value
color = texture(emissiveRect, tc).rgb;
}
- else if (!GET_GBUFFER_FLAG(GBUFFER_FLAG_HAS_ATMOS))
+ else if (GET_GBUFFER_FLAG(GBUFFER_FLAG_SKIP_ATMOS))
{
- //should only be true of WL sky, just port over base color value
+ //should only be true of WL sky, port over base color value and scale for fake HDR
color = texture(emissiveRect, tc).rgb;
color = srgb_to_linear(color);
color *= sky_hdr_scale;
diff --git a/indra/newview/lldrawpoolwlsky.cpp b/indra/newview/lldrawpoolwlsky.cpp
index a9cc138549..303916110c 100644
--- a/indra/newview/lldrawpoolwlsky.cpp
+++ b/indra/newview/lldrawpoolwlsky.cpp
@@ -470,8 +470,6 @@ void LLDrawPoolWLSky::renderDeferred(S32 pass)
const F32 camHeightLocal = LLEnvironment::instance().getCamHeight();
- gGL.setColorMask(true, false);
-
LLVector3 const & origin = LLViewerCamera::getInstance()->getOrigin();
if (gPipeline.canUseWindLightShaders())
@@ -488,7 +486,6 @@ void LLDrawPoolWLSky::renderDeferred(S32 pass)
renderSkyCloudsDeferred(origin, camHeightLocal, cloud_shader);
}
}
- gGL.setColorMask(true, true);
}
diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp
index 6e8e37621e..454842999d 100644
--- a/indra/newview/llfloaterregioninfo.cpp
+++ b/indra/newview/llfloaterregioninfo.cpp
@@ -1314,10 +1314,9 @@ void LLPanelRegionDebugInfo::onClickDebugConsole(void* data)
BOOL LLPanelRegionTerrainInfo::validateTextureSizes()
{
- LLCheckBoxCtrl* material_type_ctrl = getChild<LLCheckBoxCtrl>("terrain_material_type");
- if (material_type_ctrl)
+ if (mMaterialTypeCtrl)
{
- const LLTerrainMaterials::Type material_type = material_type_from_ctrl(material_type_ctrl);
+ const LLTerrainMaterials::Type material_type = material_type_from_ctrl(mMaterialTypeCtrl);
const bool is_material_selected = material_type == LLTerrainMaterials::Type::PBR;
if (is_material_selected) { return TRUE; }
}
@@ -1325,9 +1324,7 @@ BOOL LLPanelRegionTerrainInfo::validateTextureSizes()
static const S32 MAX_TERRAIN_TEXTURE_SIZE = 1024;
for(S32 i = 0; i < LLTerrainMaterials::ASSET_COUNT; ++i)
{
- std::string buffer;
- buffer = llformat("texture_detail_%d", i);
- LLTextureCtrl* texture_ctrl = getChild<LLTextureCtrl>(buffer);
+ LLTextureCtrl* texture_ctrl = mTextureDetailCtrl[i];
if (!texture_ctrl) continue;
LLUUID image_asset_id = texture_ctrl->getImageAssetID();
@@ -1410,7 +1407,8 @@ BOOL LLPanelRegionTerrainInfo::postBuild()
initCtrl("terrain_raise_spin");
initCtrl("terrain_lower_spin");
- getChild<LLUICtrl>("terrain_material_type")->setCommitCallback(boost::bind(&LLPanelRegionTerrainInfo::onSelectMaterialType, this));
+ mMaterialTypeCtrl = findChild<LLCheckBoxCtrl>("terrain_material_type");
+ if (mMaterialTypeCtrl) { mMaterialTypeCtrl->setCommitCallback(boost::bind(&LLPanelRegionTerrainInfo::onSelectMaterialType, this)); }
std::string buffer;
@@ -1418,11 +1416,13 @@ BOOL LLPanelRegionTerrainInfo::postBuild()
{
buffer = llformat("texture_detail_%d", i);
initCtrl(buffer);
+ mTextureDetailCtrl[i] = findChild<LLTextureCtrl>(buffer);
}
for(S32 i = 0; i < LLTerrainMaterials::ASSET_COUNT; ++i)
{
buffer = llformat("material_detail_%d", i);
initCtrl(buffer);
+ mMaterialDetailCtrl[i] = findChild<LLTextureCtrl>(buffer);
}
for(S32 i = 0; i < CORNER_COUNT; ++i)
@@ -1440,11 +1440,6 @@ BOOL LLPanelRegionTerrainInfo::postBuild()
mAskedTextureHeights = false;
mConfirmedTextureHeights = false;
- if (!mRegionChangedSlot.connected())
- {
- mRegionChangedSlot = gAgent.addRegionChangedCallback(boost::bind(&LLPanelRegionTerrainInfo::onRegionChanged,this));
- }
-
return LLPanelRegionInfo::postBuild();
}
@@ -1456,19 +1451,15 @@ void LLPanelRegionTerrainInfo::onSelectMaterialType()
void LLPanelRegionTerrainInfo::updateForMaterialType()
{
- LLCheckBoxCtrl* material_type_ctrl = getChild<LLCheckBoxCtrl>("terrain_material_type");
- if (!material_type_ctrl) { return; }
- const LLTerrainMaterials::Type material_type = material_type_from_ctrl(material_type_ctrl);
+ if (!mMaterialTypeCtrl) { return; }
+ const LLTerrainMaterials::Type material_type = material_type_from_ctrl(mMaterialTypeCtrl);
const bool show_texture_controls = material_type == LLTerrainMaterials::Type::TEXTURE;
const bool show_material_controls = material_type == LLTerrainMaterials::Type::PBR;
// Toggle visibility of correct swatches
- std::string buffer;
- LLTextureCtrl* texture_ctrl;
for(S32 i = 0; i < LLTerrainMaterials::ASSET_COUNT; ++i)
{
- buffer = llformat("texture_detail_%d", i);
- texture_ctrl = getChild<LLTextureCtrl>(buffer);
+ LLTextureCtrl* texture_ctrl = mTextureDetailCtrl[i];
if (texture_ctrl)
{
texture_ctrl->setVisible(show_texture_controls);
@@ -1476,42 +1467,20 @@ void LLPanelRegionTerrainInfo::updateForMaterialType()
}
for(S32 i = 0; i < LLTerrainMaterials::ASSET_COUNT; ++i)
{
- buffer = llformat("material_detail_%d", i);
- texture_ctrl = getChild<LLTextureCtrl>(buffer);
- if (texture_ctrl)
+ LLTextureCtrl* material_ctrl = mMaterialDetailCtrl[i];
+ if (material_ctrl)
{
- texture_ctrl->setVisible(show_material_controls);
+ material_ctrl->setVisible(show_material_controls);
}
}
// Toggle visibility of labels
- LLUICtrl* texture_label = getChild<LLUICtrl>("detail_texture_text");
+ LLUICtrl* texture_label = findChild<LLUICtrl>("detail_texture_text");
if (texture_label) { texture_label->setVisible(show_texture_controls); }
- LLUICtrl* material_label = getChild<LLUICtrl>("detail_material_text");
+ LLUICtrl* material_label = findChild<LLUICtrl>("detail_material_text");
if (material_label) { material_label->setVisible(show_material_controls); }
}
-void LLPanelRegionTerrainInfo::onRegionChanged()
-{
- LLViewerRegion *region = gAgent.getRegion();
- if (!region) { return; }
-
- if (region->simulatorFeaturesReceived())
- {
- onSimulatorFeaturesReceived(region->getRegionID(), region);
- }
- else
- {
- // See "RenderTerrainPBREnabled" in LLViewerRegion::setSimulatorFeatures
- region->setSimulatorFeaturesReceivedCallback(boost::bind(&LLPanelRegionTerrainInfo::onSimulatorFeaturesReceived,this,_1, _2));
- }
-}
-
-void LLPanelRegionTerrainInfo::onSimulatorFeaturesReceived(const LLUUID& region_id, LLViewerRegion* regionp)
-{
- refresh();
-}
-
// virtual
bool LLPanelRegionTerrainInfo::refreshFromRegion(LLViewerRegion* region)
{
@@ -1558,22 +1527,21 @@ bool LLPanelRegionTerrainInfo::refreshFromRegion(LLViewerRegion* region)
reset_material_swatches = !set_material_swatches;
}
- LLCheckBoxCtrl* material_type_ctrl = getChild<LLCheckBoxCtrl>("terrain_material_type");
- if (material_type_ctrl) { material_type_to_ctrl(material_type_ctrl, material_type); }
- updateForMaterialType();
- material_type_ctrl->setVisible(feature_pbr_terrain_enabled);
+ if (mMaterialTypeCtrl)
+ {
+ material_type_to_ctrl(mMaterialTypeCtrl, material_type);
+ updateForMaterialType();
+ mMaterialTypeCtrl->setVisible(feature_pbr_terrain_enabled);
+ }
- LLTextureCtrl* asset_ctrl;
- std::string buffer;
if (set_texture_swatches)
{
for(S32 i = 0; i < LLTerrainMaterials::ASSET_COUNT; ++i)
{
- buffer = llformat("texture_detail_%d", i);
- asset_ctrl = getChild<LLTextureCtrl>(buffer);
+ LLTextureCtrl* asset_ctrl = mTextureDetailCtrl[i];
if(asset_ctrl)
{
- LL_DEBUGS() << "Detail Texture " << i << ": "
+ LL_DEBUGS("Terrain", "Texture") << "Detail Texture " << i << ": "
<< compp->getDetailAssetID(i) << LL_ENDL;
LLUUID tmp_id(compp->getDetailAssetID(i));
asset_ctrl->setImageAssetID(tmp_id);
@@ -1584,11 +1552,10 @@ bool LLPanelRegionTerrainInfo::refreshFromRegion(LLViewerRegion* region)
{
for(S32 i = 0; i < LLTerrainMaterials::ASSET_COUNT; ++i)
{
- buffer = llformat("material_detail_%d", i);
- asset_ctrl = getChild<LLTextureCtrl>(buffer);
+ LLTextureCtrl* asset_ctrl = mMaterialDetailCtrl[i];
if(asset_ctrl)
{
- LL_DEBUGS() << "Detail Material " << i << ": "
+ LL_DEBUGS("Terrain", "Material") << "Detail Material " << i << ": "
<< compp->getDetailAssetID(i) << LL_ENDL;
LLUUID tmp_id(compp->getDetailAssetID(i));
asset_ctrl->setImageAssetID(tmp_id);
@@ -1599,8 +1566,9 @@ bool LLPanelRegionTerrainInfo::refreshFromRegion(LLViewerRegion* region)
{
for(S32 i = 0; i < LLTerrainMaterials::ASSET_COUNT; ++i)
{
- buffer = llformat("texture_detail_%d", i);
- asset_ctrl = getChild<LLTextureCtrl>(buffer);
+ LL_DEBUGS("Terrain", "Texture") << "Reset Texture swatch " << i
+ << LL_ENDL;
+ LLTextureCtrl* asset_ctrl = mTextureDetailCtrl[i];
if(asset_ctrl)
{
asset_ctrl->setImageAssetID(mLastSetTextures[i]);
@@ -1611,8 +1579,9 @@ bool LLPanelRegionTerrainInfo::refreshFromRegion(LLViewerRegion* region)
{
for(S32 i = 0; i < LLTerrainMaterials::ASSET_COUNT; ++i)
{
- buffer = llformat("material_detail_%d", i);
- asset_ctrl = getChild<LLTextureCtrl>(buffer);
+ LL_DEBUGS("Terrain", "Material") << "Reset Material swatch " << i
+ << LL_ENDL;
+ LLTextureCtrl* asset_ctrl = mMaterialDetailCtrl[i];
if(asset_ctrl)
{
asset_ctrl->setImageAssetID(mLastSetMaterials[i]);
@@ -1620,6 +1589,7 @@ bool LLPanelRegionTerrainInfo::refreshFromRegion(LLViewerRegion* region)
}
}
+ std::string buffer;
for(S32 i = 0; i < CORNER_COUNT; ++i)
{
buffer = llformat("height_start_spin_%d", i);
@@ -1686,25 +1656,23 @@ BOOL LLPanelRegionTerrainInfo::sendUpdate()
}
}
- LLTextureCtrl* asset_ctrl;
std::string id_str;
LLMessageSystem* msg = gMessageSystem;
// Send either material IDs instead of texture IDs depending on
- // terrain_material_type - they both occupy the same slot.
- LLCheckBoxCtrl* material_type_ctrl = getChild<LLCheckBoxCtrl>("terrain_material_type");
- const LLTerrainMaterials::Type material_type = material_type_ctrl ? material_type_from_ctrl(material_type_ctrl) : LLTerrainMaterials::Type::TEXTURE;
+ // material_type - they both occupy the same slot.
+ const LLTerrainMaterials::Type material_type = mMaterialTypeCtrl ? material_type_from_ctrl(mMaterialTypeCtrl) : LLTerrainMaterials::Type::TEXTURE;
for(S32 i = 0; i < LLTerrainMaterials::ASSET_COUNT; ++i)
{
+ LLTextureCtrl* asset_ctrl;
if (material_type == LLTerrainMaterials::Type::PBR)
{
- buffer = llformat("material_detail_%d", i);
+ asset_ctrl = mMaterialDetailCtrl[i];
}
else
{
- buffer = llformat("texture_detail_%d", i);
+ asset_ctrl = mTextureDetailCtrl[i];
}
- asset_ctrl = getChild<LLTextureCtrl>(buffer);
if (!asset_ctrl) { continue; }
diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h
index 315c6aca0f..99774e5db3 100644
--- a/indra/newview/llfloaterregioninfo.h
+++ b/indra/newview/llfloaterregioninfo.h
@@ -56,6 +56,7 @@ class LLRadioGroup;
class LLSliderCtrl;
class LLSpinCtrl;
class LLTextBox;
+class LLTextureCtrl;
class LLPanelRegionGeneralInfo;
class LLPanelRegionDebugInfo;
@@ -249,8 +250,6 @@ public:
BOOL postBuild() override;
- void onRegionChanged();
- void onSimulatorFeaturesReceived(const LLUUID& region_id, LLViewerRegion* regionp);
bool refreshFromRegion(LLViewerRegion* region) override; // refresh local settings from region update from simulator
void setEnvControls(bool available); // Whether environment settings are available for this region
@@ -274,7 +273,9 @@ protected:
private:
bool mConfirmedTextureHeights;
bool mAskedTextureHeights;
- boost::signals2::connection mRegionChangedSlot;
+ LLCheckBoxCtrl* mMaterialTypeCtrl = nullptr;
+ LLTextureCtrl* mTextureDetailCtrl[LLTerrainMaterials::ASSET_COUNT];
+ LLTextureCtrl* mMaterialDetailCtrl[LLTerrainMaterials::ASSET_COUNT];
LLUUID mLastSetTextures[LLTerrainMaterials::ASSET_COUNT];
LLUUID mLastSetMaterials[LLTerrainMaterials::ASSET_COUNT];
};