AO on/off now remembered across logins, fixed cycling not working right after login without moving.
parent
083d94821e
commit
d2bea9d49a
|
|
@ -39,6 +39,7 @@
|
|||
#include "llinventoryobserver.h"
|
||||
#include "llstring.h"
|
||||
#include "llvfs.h"
|
||||
#include "llviewercontrol.h"
|
||||
#include "llviewerinventory.h"
|
||||
|
||||
// is there a global define for this folder somewhere?
|
||||
|
|
@ -392,10 +393,14 @@ void AOEngine::cycle(eCycleMode cycleMode)
|
|||
{
|
||||
LLUUID motion=mCurrentSet->getMotion();
|
||||
|
||||
if(motion==ANIM_AGENT_SIT && !mCurrentSet->getSitOverride())
|
||||
// assume stand if no motion is registered, happens after login when the avatar hasn't moved at all yet
|
||||
if(motion.isNull())
|
||||
motion=ANIM_AGENT_STAND;
|
||||
// do not cycle if we're sitting and sit-override is off
|
||||
else if(motion==ANIM_AGENT_SIT && !mCurrentSet->getSitOverride())
|
||||
return;
|
||||
|
||||
if(motion==ANIM_AGENT_STAND && mCurrentSet->getMouselookDisable() && mInMouselook)
|
||||
// do not cycle if we're standing and mouselook stand override is disabled while being in mouselook
|
||||
else if(motion==ANIM_AGENT_STAND && mCurrentSet->getMouselookDisable() && mInMouselook)
|
||||
return;
|
||||
|
||||
AOSet::AOState* state=mCurrentSet->getStateByRemapID(motion);
|
||||
|
|
@ -817,18 +822,17 @@ void AOEngine::update()
|
|||
|
||||
if(allComplete)
|
||||
{
|
||||
mEnabled=gSavedPerAccountSettings.getBOOL("UseAO");
|
||||
|
||||
if(!mCurrentSet && !mSets.empty())
|
||||
{
|
||||
llwarns << "No default set defined, choosing the first in the list." << llendl;
|
||||
mCurrentSet=mSets[0];
|
||||
selectSet(mSets[0]);
|
||||
}
|
||||
|
||||
mTimerCollection.enableInventoryTimer(FALSE);
|
||||
mTimerCollection.enableSettingsTimer(TRUE);
|
||||
|
||||
// this should be a preferences option
|
||||
mEnabled=TRUE;
|
||||
selectSet(mCurrentSet);
|
||||
|
||||
llwarns << "sending update signal" << llendl;
|
||||
mUpdatedSignal();
|
||||
}
|
||||
|
|
@ -884,13 +888,14 @@ void AOEngine::selectSet(AOSet* set)
|
|||
{
|
||||
BOOL wasEnabled=mEnabled;
|
||||
if(wasEnabled)
|
||||
{
|
||||
enable(FALSE);
|
||||
gAgent.stopCurrentAnimations();
|
||||
}
|
||||
|
||||
gAgent.stopCurrentAnimations();
|
||||
mLastOverriddenMotion=ANIM_AGENT_STAND;
|
||||
|
||||
mCurrentSet=set;
|
||||
llwarns << "Selected AO set " << set->getName() << llendl;
|
||||
|
||||
if(wasEnabled)
|
||||
enable(TRUE);
|
||||
|
|
|
|||
|
|
@ -251,6 +251,17 @@
|
|||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>UseAO</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Use the viewer side Animation Overrider</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<!-- End of Firestorm settings -->
|
||||
</map>
|
||||
</llsd>
|
||||
|
|
|
|||
|
|
@ -543,7 +543,9 @@ void LLBottomTray::toggleCameraControls()
|
|||
// ## Zi: Animation Overrider
|
||||
void LLBottomTray::toggleAO()
|
||||
{
|
||||
AOEngine::getInstance()->enable(getChild<LLButton>("ao_toggle_btn")->getToggleState());
|
||||
BOOL yes=mAOToggleButton->getToggleState();
|
||||
AOEngine::getInstance()->enable(yes);
|
||||
gSavedPerAccountSettings.setBOOL("UseAO",yes);
|
||||
}
|
||||
// ## Zi: Animation Overrider
|
||||
|
||||
|
|
@ -615,10 +617,9 @@ BOOL LLBottomTray::postBuild()
|
|||
getChild<LLUICtrl>("sidebar_appearance_btn")->setCommitCallback(boost::bind(&LLBottomTray::showSidebarPanel, this, "sidepanel_appearance"));
|
||||
getChild<LLUICtrl>("sidebar_inv_btn")->setCommitCallback(boost::bind(&LLBottomTray::showSidebarPanel, this, "sidepanel_inventory"));
|
||||
// ## Zi: Animation Overrider
|
||||
LLButton* aoToggleButton=getChild<LLButton>("ao_toggle_btn");
|
||||
aoToggleButton->setCommitCallback(boost::bind(&LLBottomTray::toggleAO,this));
|
||||
// this needs to become a preferences option
|
||||
aoToggleButton->setToggleState(TRUE);
|
||||
mAOToggleButton=getChild<LLButton>("ao_toggle_btn");
|
||||
mAOToggleButton->setCommitCallback(boost::bind(&LLBottomTray::toggleAO,this));
|
||||
mAOToggleButton->setToggleState(gSavedPerAccountSettings.getBOOL("UseAO"));
|
||||
// ## Zi: Animation Overrider
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -471,6 +471,7 @@ protected:
|
|||
LLButton* mCamButton;
|
||||
LLButton* mMovementButton;
|
||||
LLBottomTrayLite* mBottomTrayLite;
|
||||
LLButton* mAOToggleButton; // ## Zi: Animation Overrider
|
||||
bool mIsInLiteMode;
|
||||
|
||||
// Drag'n'Drop
|
||||
|
|
|
|||
Loading…
Reference in New Issue