Skip to content

Commit

Permalink
Port Hover Height from Alchemy, it's in quicksettings~
Browse files Browse the repository at this point in the history
Lots and lots of other sync~
Also has a command /hover
Added /resync command from Alchemy.
  • Loading branch information
LiruMouse committed Mar 25, 2015
1 parent a54937b commit 398014b
Show file tree
Hide file tree
Showing 35 changed files with 532 additions and 109 deletions.
3 changes: 2 additions & 1 deletion indra/llappearance/lltexglobalcolor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,8 @@ LLTexParamGlobalColor::LLTexParamGlobalColor(LLTexGlobalColor* tex_global_color)

void LLTexParamGlobalColor::onGlobalColorChanged(bool upload_bake)
{
mAvatarAppearance->onGlobalColorChanged(mTexGlobalColor, upload_bake);
if (mAvatarAppearance)
mAvatarAppearance->onGlobalColorChanged(mTexGlobalColor, upload_bake);
}

//-----------------------------------------------------------------------------
Expand Down
5 changes: 5 additions & 0 deletions indra/llcharacter/llcharacter.h
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,9 @@ class LLCharacter
static std::vector< LLCharacter* > sInstances;
static BOOL sAllowInstancesChange ; //debug use

virtual void setHoverOffset(const LLVector3& hover_offset, bool send_update=true) { mHoverOffset = hover_offset; }
const LLVector3& getHoverOffset() const { return mHoverOffset; }

protected:
LLMotionController mMotionController;

Expand All @@ -293,6 +296,8 @@ class LLCharacter
visual_param_index_map_t mVisualParamIndexMap;
visual_param_name_map_t mVisualParamNameMap;
static LLStringTable sVisualParamNames;

LLVector3 mHoverOffset;
};

#endif // LL_LLCHARACTER_H
Expand Down
3 changes: 2 additions & 1 deletion indra/llcharacter/llkeyframemotion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1047,7 +1047,8 @@ void LLKeyframeMotion::applyConstraint(JointConstraint* constraint, F32 time, U8
{
case CONSTRAINT_TARGET_TYPE_GROUND:
target_pos = mCharacter->getPosAgentFromGlobal(constraint->mGroundPos);
// llinfos << "Target Pos " << constraint->mGroundPos << " on " << mCharacter->findCollisionVolume(shared_data->mSourceConstraintVolume)->getName() << llendl;
target_pos += mCharacter->getHoverOffset();
// LL_INFOS() << "Target Pos " << constraint->mGroundPos << " on " << mCharacter->findCollisionVolume(shared_data->mSourceConstraintVolume)->getName() << LL_ENDL;
break;
case CONSTRAINT_TARGET_TYPE_BODY:
target_pos = mCharacter->getVolumePos(shared_data->mTargetConstraintVolume, shared_data->mTargetConstraintOffset);
Expand Down
2 changes: 2 additions & 0 deletions indra/llmessage/message_prehash.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1384,6 +1384,8 @@ char const* const _PREHASH_GroupAVSounds = LLMessageStringTable::getInstance()->
char const* const _PREHASH_AppearanceData = LLMessageStringTable::getInstance()->getString("AppearanceData");
char const* const _PREHASH_AppearanceVersion = LLMessageStringTable::getInstance()->getString("AppearanceVersion");
char const* const _PREHASH_CofVersion = LLMessageStringTable::getInstance()->getString("CofVersion");
char const* const _PREHASH_AppearanceHover = LLMessageStringTable::getInstance()->getString("AppearanceHover");
char const* const _PREHASH_HoverHeight = LLMessageStringTable::getInstance()->getString("HoverHeight");

// <FS:CR> Aurora Sim
char const* const _PREHASH_RegionSizeX = LLMessageStringTable::getInstance()->getString("RegionSizeX");
Expand Down
2 changes: 2 additions & 0 deletions indra/llmessage/message_prehash.h
Original file line number Diff line number Diff line change
Expand Up @@ -1384,6 +1384,8 @@ extern char const* const _PREHASH_GroupAVSounds;
extern char const* const _PREHASH_AppearanceData;
extern char const* const _PREHASH_AppearanceVersion;
extern char const* const _PREHASH_CofVersion;
extern char const* const _PREHASH_AppearanceHover;
extern char const* const _PREHASH_HoverHeight;

// <FS:CR> Aurora Sim
extern char const* const _PREHASH_RegionSizeX;
Expand Down
16 changes: 15 additions & 1 deletion indra/llui/llsliderctrl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,8 @@ LLSliderCtrl::LLSliderCtrl(const std::string& name, const LLRect& rect,
mEditor( NULL ),
mTextBox( NULL ),
mTextEnabledColor( LLUI::sColorsGroup->getColor( "LabelTextColor" ) ),
mTextDisabledColor( LLUI::sColorsGroup->getColor( "LabelDisabledColor" ) )
mTextDisabledColor(LLUI::sColorsGroup->getColor("LabelDisabledColor")),
mEditorCommitSignal(NULL)
{
S32 top = getRect().getHeight();
S32 bottom = 0;
Expand Down Expand Up @@ -141,6 +142,11 @@ LLSliderCtrl::LLSliderCtrl(const std::string& name, const LLRect& rect,
updateText();
}

LLSliderCtrl::~LLSliderCtrl()
{
delete mEditorCommitSignal;
}

void LLSliderCtrl::setValue(F32 v, BOOL from_event)
{
mSlider->setValue( v, from_event );
Expand Down Expand Up @@ -238,6 +244,8 @@ void LLSliderCtrl::onEditorCommit( LLUICtrl* ctrl, const LLSD& userdata )
if( success )
{
self->onCommit();
if (self->mEditorCommitSignal)
(*(self->mEditorCommitSignal))(self, self->getValueF32());
}
else
{
Expand Down Expand Up @@ -350,6 +358,12 @@ boost::signals2::connection LLSliderCtrl::setSliderMouseUpCallback( const commit
return mSlider->setMouseUpCallback( cb );
}

boost::signals2::connection LLSliderCtrl::setSliderEditorCommitCallback(const commit_signal_t::slot_type& cb)
{
if (!mEditorCommitSignal) mEditorCommitSignal = new commit_signal_t();
return mEditorCommitSignal->connect(cb);
}

void LLSliderCtrl::onTabInto()
{
if( mEditor )
Expand Down
5 changes: 4 additions & 1 deletion indra/llui/llsliderctrl.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ class LLSliderCtrl : public LLUICtrl
F32 initial_value, F32 min_value, F32 max_value, F32 increment,
const std::string& control_which = LLStringUtil::null );

virtual ~LLSliderCtrl() {} // Children all cleaned up by default view destructor.
virtual ~LLSliderCtrl();

virtual LLXMLNodePtr getXML(bool save_children = true) const;
static LLView* fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory);
Expand Down Expand Up @@ -99,6 +99,7 @@ class LLSliderCtrl : public LLUICtrl

boost::signals2::connection setSliderMouseDownCallback( const commit_signal_t::slot_type& cb );
boost::signals2::connection setSliderMouseUpCallback( const commit_signal_t::slot_type& cb );
boost::signals2::connection setSliderEditorCommitCallback(const commit_signal_t::slot_type& cb);

virtual void onTabInto();

Expand Down Expand Up @@ -137,6 +138,8 @@ class LLSliderCtrl : public LLUICtrl

LLColor4 mTextEnabledColor;
LLColor4 mTextDisabledColor;

commit_signal_t* mEditorCommitSignal;
};

#endif // LL_LLSLIDERCTRL_H
33 changes: 33 additions & 0 deletions indra/newview/app_settings/settings_ascent.xml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,28 @@
<key>Value</key>
<integer>1</integer>
</map>
<key>AlchemyChatCommandHoverHeight</key>
<map>
<key>Comment</key>
<string>Command to hover your height or something</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string>/hover</string>
</map>
<key>AlchemyChatCommandResyncAnim</key>
<map>
<key>Comment</key>
<string>Command to stop/start in order to resync animations</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string>/resync</string>
</map>
<key>AlchemyConnectToNeighbors</key>
<map>
<key>Comment</key>
Expand Down Expand Up @@ -189,6 +211,17 @@
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>AlchemySitOnAway</key>
<map>
<key>Comment</key>
<string>Agent groundsits in away mode</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>AscentPowerfulWizard</key>
<map>
Expand Down
11 changes: 11 additions & 0 deletions indra/newview/app_settings/settings_per_account.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,17 @@
</array-->


<key>AvatarHoverOffsetZ</key>
<map>
<key>Comment</key>
<string>After-everything-else fixup for avatar Z position.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>0.0</real>
</map>
<!-- Begin AO -->

<key>AOConfigNotecardID</key>
Expand Down
16 changes: 12 additions & 4 deletions indra/newview/ascentprefssys.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ LLPrefsAscentSys::LLPrefsAscentSys()
getChild<LLUICtrl>("SinguCmdLineAway")->setCommitCallback(lineEditorControl);
getChild<LLUICtrl>("SinguCmdLineRegionSay")->setCommitCallback(lineEditorControl);
getChild<LLUICtrl>("SinguCmdLineURL")->setCommitCallback(lineEditorControl);
getChild<LLUICtrl>("AlchemyChatCommandResyncAnim")->setCommitCallback(lineEditorControl);
getChild<LLUICtrl>("AlchemyChatCommandHoverHeight")->setCommitCallback(lineEditorControl);

//Security ----------------------------------------------------------------------------
getChild<LLUICtrl>("UISndRestart")->setCommitCallback(lineEditorControl);
Expand Down Expand Up @@ -113,10 +115,8 @@ void LLPrefsAscentSys::onCommitCheckBox(LLUICtrl* ctrl, const LLSD& value)
LLVector3d lpos_global = gAgent.getPositionGlobal();
if(gAudiop)
gAudiop->triggerSound(LLUUID("58a38e89-44c6-c52b-deb8-9f1ddc527319"), gAgent.getID(), 1.0f, LLAudioEngine::AUDIO_TYPE_UI, lpos_global);
LLChat chat;
chat.mSourceType = CHAT_SOURCE_SYSTEM;
chat.mText = LLTrans::getString("PowerUser1") + "\n" + LLTrans::getString("PowerUser2") + "\n" + LLTrans::getString("Unlocked:") + "\n" + LLTrans::getString("PowerUser3") + "\n- " + LLTrans::getString("RightClick") + " > " + LLTrans::getString("PowerUser4") + "\n- " + LLTrans::getString("RightClick") + " > " + LLTrans::getString("PowerUser5");
LLFloaterChat::addChat(chat);
void cmdline_printchat(const std::string& message);
cmdline_printchat(LLTrans::getString("PowerUser1") + '\n' + LLTrans::getString("PowerUser2") + '\n' + LLTrans::getString("Unlocked:") + '\n' + LLTrans::getString("PowerUser3") + "\n- " + LLTrans::getString("RightClick") + " > " + LLTrans::getString("PowerUser4") + "\n- " + LLTrans::getString("RightClick") + " > " + LLTrans::getString("PowerUser5"));
}
}
else if (name == "next_owner_copy")
Expand Down Expand Up @@ -186,6 +186,8 @@ void LLPrefsAscentSys::refreshValues()
mCmdLineAway = gSavedSettings.getString("SinguCmdLineAway");
mCmdLineRegionSay = gSavedSettings.getString("SinguCmdLineRegionSay");
mCmdLineURL = gSavedSettings.getString("SinguCmdLineURL");
mCmdLineResync = gSavedSettings.getString("AlchemyChatCommandResyncAnim");
mCmdLineHover = gSavedSettings.getString("AlchemyChatCommandHoverHeight");

//Security ----------------------------------------------------------------------------
mBroadcastViewerEffects = gSavedSettings.getBOOL("BroadcastViewerEffects");
Expand All @@ -196,6 +198,7 @@ void LLPrefsAscentSys::refreshValues()
mLookAtLines = gSavedSettings.getBOOL("AlchemyLookAtLines");
mQuietSnapshotsToDisk = gSavedSettings.getBOOL("QuietSnapshotsToDisk");
mAnnounceBumps = gSavedSettings.getBOOL("AnnounceBumps");
mSitOnAway = gSavedSettings.getBOOL("AlchemySitOnAway");
mDetachBridge = gSavedSettings.getBOOL("SGDetachBridge");
mRevokePermsOnStandUp = gSavedSettings.getBOOL("RevokePermsOnStandUp");
mDisableClickSit = gSavedSettings.getBOOL("DisableClickSit");
Expand Down Expand Up @@ -257,6 +260,8 @@ void LLPrefsAscentSys::refresh()
childSetValue("SinguCmdLineAway", mCmdLineAway);
childSetValue("SinguCmdLineRegionSay", mCmdLineRegionSay);
childSetValue("SinguCmdLineURL", mCmdLineURL);
childSetValue("AlchemyChatCommandResyncAnim", mCmdLineResync);
childSetValue("AlchemyChatCommandHoverHeight", mCmdLineHover);

//Security ----------------------------------------------------------------------------
getChildView("UISndRestart")->setValue(mRestartSound);
Expand Down Expand Up @@ -328,6 +333,8 @@ void LLPrefsAscentSys::cancel()
gSavedSettings.setString("SinguCmdLineAway", mCmdLineAway);
gSavedSettings.setString("SinguCmdLineRegionSay", mCmdLineRegionSay);
gSavedSettings.setString("SinguCmdLineURL", mCmdLineURL);
gSavedSettings.setString("AlchemyChatCommandResyncAnim", mCmdLineResync);
gSavedSettings.setString("AlchemyChatCommandHoverHeight", mCmdLineHover);

//Security ----------------------------------------------------------------------------
gSavedSettings.setBOOL("BroadcastViewerEffects", mBroadcastViewerEffects);
Expand All @@ -338,6 +345,7 @@ void LLPrefsAscentSys::cancel()
gSavedSettings.setBOOL("AlchemyLookAtLines", mLookAtLines);
gSavedSettings.setBOOL("QuietSnapshotsToDisk", mQuietSnapshotsToDisk);
gSavedSettings.setBOOL("AnnounceBumps", mAnnounceBumps);
gSavedSettings.setBOOL("AlchemySitOnAway", mSitOnAway);
gSavedSettings.setBOOL("SGDetachBridge", mDetachBridge);
gSavedSettings.setBOOL("RevokePermsOnStandUp", mRevokePermsOnStandUp);
gSavedSettings.setBOOL("DisableClickSit", mDisableClickSit);
Expand Down
3 changes: 3 additions & 0 deletions indra/newview/ascentprefssys.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,8 @@ class LLPrefsAscentSys : public LLPanel
std::string mCmdLineAway;
std::string mCmdLineRegionSay;
std::string mCmdLineURL;
std::string mCmdLineResync;
std::string mCmdLineHover;

//Security ----------------------------------------------------------------------------
bool mBroadcastViewerEffects;
Expand All @@ -106,6 +108,7 @@ class LLPrefsAscentSys : public LLPanel
bool mLookAtLines;
bool mQuietSnapshotsToDisk;
bool mAnnounceBumps;
bool mSitOnAway;
bool mDetachBridge;
bool mRevokePermsOnStandUp;
bool mDisableClickSit;
Expand Down
30 changes: 30 additions & 0 deletions indra/newview/chatbar_as_cmdline.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,8 @@ bool cmd_line_chat(std::string revised_text, EChatType type)
static LLCachedControl<std::string> sSinguCmdLineAway(gSavedSettings, "SinguCmdLineAway");
static LLCachedControl<std::string> sSinguCmdLineRegionSay(gSavedSettings, "SinguCmdLineRegionSay");
static LLCachedControl<std::string> sSinguCmdLineURL(gSavedSettings, "SinguCmdLineURL");
static LLCachedControl<std::string> sResyncAnimCommand(gSavedSettings, "AlchemyChatCommandResyncAnim", "/resync");
static LLCachedControl<std::string> sHoverHeight(gSavedSettings, "AlchemyChatCommandHoverHeight", "/hover");

if(sAscentCmdLine)
{
Expand Down Expand Up @@ -463,6 +465,34 @@ bool cmd_line_chat(std::string revised_text, EChatType type)
}
return false;
}
else if (command == utf8str_tolower(sHoverHeight)) // Hover height
{
F32 height;
if (i >> height)
{
gSavedPerAccountSettings.set("AvatarHoverOffsetZ",
llclamp<F32>(height, MIN_HOVER_Z, MAX_HOVER_Z));
return false;
}
}
else if (command == utf8str_tolower(sResyncAnimCommand)) // Resync Animations
{
for (S32 i = 0; i < gObjectList.getNumObjects(); i++)
{
LLViewerObject* object = gObjectList.getObject(i);
if (object && object->isAvatar())
{
LLVOAvatar& avatarp = *(LLVOAvatar*)object;
for (LLVOAvatar::AnimIterator it = avatarp.mPlayingAnimations.begin(), end = avatarp.mPlayingAnimations.end(); it != end; ++it)
{
const std::pair<LLUUID, S32>& playpair = *it;
avatarp.stopMotion(playpair.first, TRUE);
avatarp.startMotion(playpair.first);
}
}
}
return false;
}
else if(command == "typingstop")
{
std::string text;
Expand Down
4 changes: 2 additions & 2 deletions indra/newview/lfsimfeaturehandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,13 @@ void LFSimFeatureHandler::handleRegionChange()
{
if (LLViewerRegion* region = gAgent.getRegion())
{
if (region->getFeaturesReceived())
if (region->simulatorFeaturesReceived())
{
setSupportedFeatures();
}
else
{
region->setFeaturesReceivedCallback(boost::bind(&LFSimFeatureHandler::setSupportedFeatures, this));
region->setSimulatorFeaturesReceivedCallback(boost::bind(&LFSimFeatureHandler::setSupportedFeatures, this));
}
}
}
Expand Down
Loading

0 comments on commit 398014b

Please sign in to comment.