Make "enable crouch toggle mode" per-account setting

Because crouching on one account and logging off shouldn't make you crouch on your alt after logging in
PanteraPolnocy 2016-02-22 17:30:25 +01:00
parent b2eba7b2e0
commit 00aafb9c58
5 changed files with 35 additions and 35 deletions

View File

@ -21161,30 +21161,6 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<integer>0</integer>
</map>
<key>FSCrouchToggle</key>
<map>
<key>Comment</key>
<string>Enables using the crouch key as a toggle.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>FSCrouchToggleStatus</key>
<map>
<key>Comment</key>
<string>Status of crouch toggle.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
<key>Backup</key>
<integer>0</integer>
</map>
<key>FSPlayCollisionSounds</key>
<map>
<key>Comment</key>

View File

@ -1024,5 +1024,29 @@
<key>Value</key>
<integer>0</integer>
</map>
<key>FSCrouchToggle</key>
<map>
<key>Comment</key>
<string>Enables using the crouch key as a toggle.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>FSCrouchToggleStatus</key>
<map>
<key>Comment</key>
<string>Status of crouch toggle.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
<key>Backup</key>
<integer>0</integer>
</map>
</map>
</llsd>

View File

@ -744,7 +744,7 @@ void LLAgent::moveUp(S32 direction)
{
setControlFlags(AGENT_CONTROL_UP_NEG | AGENT_CONTROL_FAST_UP);
// <FS:Ansariel> Chalice Yao's crouch toggle
if (!gSavedSettings.getBOOL("FSCrouchToggleStatus") || !gSavedSettings.getBOOL("FSCrouchToggle"))
if (!gSavedPerAccountSettings.getBOOL("FSCrouchToggleStatus") || !gSavedPerAccountSettings.getBOOL("FSCrouchToggle"))
{
gAgentCamera.resetView(TRUE, FALSE, TRUE);
}
@ -907,9 +907,9 @@ void LLAgent::toggleFlying()
}
// <FS:Ansariel> Chalice Yao's crouch toggle
if (gSavedSettings.getBOOL("FSCrouchToggleStatus"))
if (gSavedPerAccountSettings.getBOOL("FSCrouchToggleStatus"))
{
gSavedSettings.setBOOL("FSCrouchToggleStatus", FALSE);
gSavedPerAccountSettings.setBOOL("FSCrouchToggleStatus", FALSE);
}
// </FS:Ansariel>

View File

@ -1667,8 +1667,8 @@ bool LLAppViewer::mainLoop()
joystick->scanJoystick();
gKeyboard->scanKeyboard();
// <FS:Ansariel> Chalice Yao's crouch toggle
static LLCachedControl<bool> fsCrouchToggle(gSavedSettings, "FSCrouchToggle");
static LLCachedControl<bool> fsCrouchToggleStatus(gSavedSettings, "FSCrouchToggleStatus");
static LLCachedControl<bool> fsCrouchToggle(gSavedPerAccountSettings, "FSCrouchToggle");
static LLCachedControl<bool> fsCrouchToggleStatus(gSavedPerAccountSettings, "FSCrouchToggleStatus");
if (fsCrouchToggle && fsCrouchToggleStatus)
{
gAgent.moveUp(-1);

View File

@ -76,9 +76,9 @@ void agent_jump( EKeystate s )
S32 frame_count = ll_round(gKeyboard->getCurKeyElapsedFrameCount());
// <FS:Ansariel> Chalice Yao's crouch toggle
if (gSavedSettings.getBOOL("FSCrouchToggleStatus"))
if (gSavedPerAccountSettings.getBOOL("FSCrouchToggleStatus"))
{
gSavedSettings.setBOOL("FSCrouchToggleStatus", FALSE);
gSavedPerAccountSettings.setBOOL("FSCrouchToggleStatus", FALSE);
}
// </FS:Ansariel>
@ -101,15 +101,15 @@ void agent_push_down( EKeystate s )
if( KEYSTATE_UP == s ) return;
// <FS:Ansariel> Chalice Yao's crouch toggle
//gAgent.moveUp(-1);
else if (KEYSTATE_DOWN == s && !gAgent.getFlying() && !gAgentAvatarp->isSitting() && gSavedSettings.getBOOL("FSCrouchToggle"))
else if (KEYSTATE_DOWN == s && !gAgent.getFlying() && !gAgentAvatarp->isSitting() && gSavedPerAccountSettings.getBOOL("FSCrouchToggle"))
{
if (gSavedSettings.getBOOL("FSCrouchToggleStatus"))
if (gSavedPerAccountSettings.getBOOL("FSCrouchToggleStatus"))
{
gSavedSettings.setBOOL("FSCrouchToggleStatus", FALSE);
gSavedPerAccountSettings.setBOOL("FSCrouchToggleStatus", FALSE);
}
else
{
gSavedSettings.setBOOL("FSCrouchToggleStatus", TRUE);
gSavedPerAccountSettings.setBOOL("FSCrouchToggleStatus", TRUE);
gAgent.moveUp(-1);
}
}