FIRE-5583, FIRE-5220: Experimental setting to show Camera Controls always opaque
* TT_FORCE_OPAQUE forces camera floater alpha to go beyond the range of 0-1 - to 10, what overwrites background images alpha values from skins, without manually modifying them. I didn't encountered any errors while testing.master
parent
3a2de425e7
commit
57ab84cac2
|
|
@ -1001,6 +1001,13 @@ F32 LLUICtrl::getCurrentTransparency()
|
|||
case TT_FADING:
|
||||
alpha = sInactiveControlTransparency / 2;
|
||||
break;
|
||||
|
||||
// <FS:PP> FIRE-5583, FIRE-5220: Option to show Camera Controls always opaque
|
||||
case TT_FORCE_OPAQUE:
|
||||
alpha = 10;
|
||||
break;
|
||||
// </FS:PP>
|
||||
|
||||
}
|
||||
|
||||
return alpha;
|
||||
|
|
|
|||
|
|
@ -134,6 +134,7 @@ public:
|
|||
TT_ACTIVE, // focused floater
|
||||
TT_INACTIVE, // other floaters
|
||||
TT_FADING, // fading toast
|
||||
TT_FORCE_OPAQUE, // forced opaqueness (alpha = 10) for FIRE-5583, FIRE-5220 (option to show Camera Controls always opaque)
|
||||
};
|
||||
/*virtual*/ ~LLUICtrl();
|
||||
|
||||
|
|
|
|||
|
|
@ -19239,5 +19239,16 @@ Change of this parameter will affect the layout of buttons in notification toast
|
|||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>FSAlwaysOpaqueCameraControls</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Show Camera Controls always opaque</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
</map>
|
||||
</llsd>
|
||||
|
|
|
|||
|
|
@ -314,6 +314,7 @@ void LLFloaterCamera::onOpen(const LLSD& key)
|
|||
LLFirstUse::viewPopup();
|
||||
|
||||
mZoom->onOpen(key);
|
||||
setCameraFloaterTransparencyMode(LLSD(gSavedSettings.getBOOL("FSAlwaysOpaqueCameraControls"))); // <FS:PP> FIRE-5583, FIRE-5220: Option to show Camera Controls always opaque
|
||||
|
||||
// Returns to previous mode, see EXT-2727(View tool should remember state).
|
||||
// In case floater was just hidden and it isn't reset the mode
|
||||
|
|
@ -354,7 +355,11 @@ LLFloaterCamera::LLFloaterCamera(const LLSD& val)
|
|||
// virtual
|
||||
BOOL LLFloaterCamera::postBuild()
|
||||
{
|
||||
updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730)
|
||||
|
||||
// <FS:PP> FIRE-5583, FIRE-5220: Option to show Camera Controls always opaque
|
||||
// updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730)
|
||||
gSavedSettings.getControl("FSAlwaysOpaqueCameraControls")->getSignal()->connect(boost::bind(&LLFloaterCamera::setCameraFloaterTransparencyMode, this, _2));
|
||||
// </FS:PP>
|
||||
|
||||
mRotate = getChild<LLJoystickCameraRotate>(ORBIT);
|
||||
mZoom = findChild<LLPanelCameraZoom>(ZOOM);
|
||||
|
|
@ -380,6 +385,20 @@ BOOL LLFloaterCamera::postBuild()
|
|||
return LLFloater::postBuild();
|
||||
}
|
||||
|
||||
// <FS:PP> FIRE-5583, FIRE-5220: Option to show Camera Controls always opaque
|
||||
void LLFloaterCamera::setCameraFloaterTransparencyMode(const LLSD &data)
|
||||
{
|
||||
if(data.asBoolean())
|
||||
{
|
||||
updateTransparency(TT_FORCE_OPAQUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730)
|
||||
}
|
||||
}
|
||||
// </FS:PP>
|
||||
|
||||
void LLFloaterCamera::fillFlatlistFromPanel (LLFlatListView* list, LLPanel* panel)
|
||||
{
|
||||
// copying child list and then iterating over a copy, because list itself
|
||||
|
|
|
|||
|
|
@ -81,6 +81,8 @@ public:
|
|||
LLPanelCameraZoom* mZoom;
|
||||
LLJoystickCameraTrack* mTrack;
|
||||
|
||||
void setCameraFloaterTransparencyMode(const LLSD &data); // <FS:PP> FIRE-5583, FIRE-5220: Option to show Camera Controls always opaque
|
||||
|
||||
private:
|
||||
|
||||
LLFloaterCamera(const LLSD& val);
|
||||
|
|
|
|||
|
|
@ -530,6 +530,17 @@
|
|||
text_color="White_25">
|
||||
(requires restart)
|
||||
</text>
|
||||
|
||||
<check_box
|
||||
top_pad="0"
|
||||
follows="left|top"
|
||||
height="16"
|
||||
label="Show the default camera controls minifloater always as opaque"
|
||||
layout="topleft"
|
||||
left="30"
|
||||
name="FSAlwaysOpaqueCameraControls"
|
||||
width="350"
|
||||
control_name="FSAlwaysOpaqueCameraControls"/>
|
||||
|
||||
<check_box
|
||||
top_pad="12"
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@
|
|||
<check_box label="Wyłącz minimalną odległość przybliżenia kamery" name="disableminzoomdist" tool_tip="Wyłącz ograniczenie w przybliżaniu obiektów."/>
|
||||
<check_box label="Obracaj awatara w stronę patrzenia kamery podczas resetowania widoku" name="resetviewturnsavatar" tool_tip="Po zresetowaniu widoku (lub naciśnięciu klawisza ESC) kierunek patrzenia kamery zostaje zachowany, a awatar - obrócony w jego stronę."/>
|
||||
<check_box label="Przenikanie kamery przez primy bez ograniczeń" name="ignorecameraconstraints" tool_tip="Ignoruje 'pchnięcie' stosowane przez symulator, aby utrzymać kamerę na zewnątrz obiektów."/>
|
||||
<check_box label="Pokazuj standardowe, małe okienko sterowania kamerą zawsze jako nieprzezroczyste" name="FSAlwaysOpaqueCameraControls"/>
|
||||
<text name="ignorecameraconstraints_requires_restart">
|
||||
(wymaga restartu)
|
||||
</text>
|
||||
|
|
|
|||
Loading…
Reference in New Issue