diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index f5c21590b..9e3abed3e 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -87,7 +87,6 @@ set(viewer_SOURCE_FILES ascentprefssys.cpp ascentprefsvan.cpp chatbar_as_cmdline.cpp - emeraldboobutils.cpp floaterao.cpp floaterlocalassetbrowse.cpp floatervoicelicense.cpp @@ -588,7 +587,6 @@ set(viewer_HEADER_FILES ascentprefssys.h ascentprefsvan.h chatbar_as_cmdline.h - emeraldboobutils.h floaterao.h floaterlocalassetbrowse.h floatervoicelicense.h diff --git a/indra/newview/ascentprefsvan.cpp b/indra/newview/ascentprefsvan.cpp index 8294d14d6..b61fe28d4 100644 --- a/indra/newview/ascentprefsvan.cpp +++ b/indra/newview/ascentprefsvan.cpp @@ -219,14 +219,6 @@ void LLPrefsAscentVan::refreshValues() mColorMutedChat = gSavedSettings.getBOOL("ColorMutedChat"); // mColorCustomChat = gSavedSettings.getBOOL("ColorCustomChat"); - //Body Dynamics -------------------------------------------------------------------------- - mBreastPhysicsToggle = gSavedSettings.getBOOL("EmeraldBreastPhysicsToggle"); - mBoobMass = gSavedSettings.getF32("EmeraldBoobMass"); - mBoobHardness = gSavedSettings.getF32("EmeraldBoobHardness"); - mBoobVelMax = gSavedSettings.getF32("EmeraldBoobVelMax"); - mBoobFriction = gSavedSettings.getF32("EmeraldBoobFriction"); - mBoobVelMin = gSavedSettings.getF32("EmeraldBoobVelMin"); - mAvatarXModifier = gSavedSettings.getF32("AscentAvatarXModifier"); mAvatarYModifier = gSavedSettings.getF32("AscentAvatarYModifier"); mAvatarZModifier = gSavedSettings.getF32("AscentAvatarZModifier"); @@ -252,13 +244,6 @@ void LLPrefsAscentVan::refresh() childSetValue("custom_tag_label_box", gSavedSettings.getString("AscentCustomTagLabel")); childSetEnabled("custom_tag_color_text", mCustomTagOn); childSetEnabled("custom_tag_color_swatch", mCustomTagOn); - - //Body Dynamics -------------------------------------------------------------------------- - childSetEnabled("EmeraldBoobMass", mBreastPhysicsToggle); - childSetEnabled("EmeraldBoobHardness", mBreastPhysicsToggle); - childSetEnabled("EmeraldBoobVelMax", mBreastPhysicsToggle); - childSetEnabled("EmeraldBoobFriction", mBreastPhysicsToggle); - childSetEnabled("EmeraldBoobVelMin", mBreastPhysicsToggle); } // Reset settings to local copy @@ -302,14 +287,6 @@ void LLPrefsAscentVan::cancel() gSavedSettings.setBOOL("ColorMutedChat", mColorMutedChat); // gSavedSettings.setBOOL("ColorCustomChat", mColorCustomChat); - //Body Dynamics -------------------------------------------------------------------------- - gSavedSettings.setBOOL("EmeraldBreastPhysicsToggle", mBreastPhysicsToggle); - gSavedSettings.setF32("EmeraldBoobMass", mBoobMass); - gSavedSettings.setF32("EmeraldBoobHardness", mBoobHardness); - gSavedSettings.setF32("EmeraldBoobVelMax", mBoobVelMax); - gSavedSettings.setF32("EmeraldBoobFriction", mBoobFriction); - gSavedSettings.setF32("EmeraldBoobVelMin", mBoobVelMin); - gSavedSettings.setF32("AscentAvatarXModifier", mAvatarXModifier); gSavedSettings.setF32("AscentAvatarYModifier", mAvatarYModifier); gSavedSettings.setF32("AscentAvatarZModifier", mAvatarZModifier); diff --git a/indra/newview/ascentprefsvan.h b/indra/newview/ascentprefsvan.h index 4439205cc..25e789697 100644 --- a/indra/newview/ascentprefsvan.h +++ b/indra/newview/ascentprefsvan.h @@ -88,13 +88,7 @@ protected: bool mColorLindenChat; bool mColorMutedChat; // bool mColorCustomChat; - //Body Dynamics - BOOL mBreastPhysicsToggle; - F32 mBoobMass; - F32 mBoobHardness; - F32 mBoobVelMax; - F32 mBoobFriction; - F32 mBoobVelMin; + F32 mAvatarXModifier; F32 mAvatarYModifier; F32 mAvatarZModifier; diff --git a/indra/newview/emeraldboobutils.cpp b/indra/newview/emeraldboobutils.cpp deleted file mode 100644 index 084d666a3..000000000 --- a/indra/newview/emeraldboobutils.cpp +++ /dev/null @@ -1,141 +0,0 @@ -#include "llviewerprecompiledheaders.h" -#include "emeraldboobutils.h" - -std::ostream &operator<<(std::ostream &os, const EmeraldGlobalBoobConfig &v) -{ - os << "EmeraldBoobConfig" << std::endl; - os << "enabled: " << v.enabled << std::endl; - os << "mass: " << v.mass << std::endl; - os << "hardness: " << v.hardness << std::endl; - os << "zMax: " << v.zMax << std::endl; - os << "velMin: " << v.velMin << std::endl; - os << "velMax: " << v.velMax << std::endl; - os << "zInfluence: " << v.zInfluence << std::endl; - os << "friction: " << v.friction << std::endl; - return os; -} - -std::ostream &operator<<(std::ostream &os, const EmeraldAvatarLocalBoobConfig &v) -{ - os << "EmeraldAvatarLocalBoobConfig" << std::endl; - os << "actualBoobGrav: " << v.actualBoobGrav << std::endl; - os << "boobSize: " << v.boobSize << std::endl; - return os; -} - -std::ostream &operator<<(std::ostream &os, const EmeraldBoobState &v) -{ - os << "EmeraldBoobState" << std::endl; - os << "boobGrav: " << v.boobGrav << std::endl; - os << "chestPosition: " << v.chestPosition << std::endl; - os << "chestRotation: " << v.chestRotation << std::endl; - os << "elapsedTime: " << v.elapsedTime << std::endl; - os << "frameDuration: " << v.frameDuration << std::endl; - os << "chestDisplacement: " << v.chestDisplacement << std::endl; - os << "localChestDisplacement: " << v.localChestDisplacement << std::endl; - os << "Number of bounceStates: " << v.bounceStates.size() << std::endl; - return os; -} - -std::ostream &operator<<(std::ostream &os, const EmeraldBoobInputs &v) -{ - os << "EmeraldBoobInputs" << std::endl; - os << "chestPosition: " << v.chestPosition << std::endl; - os << "chestRotation: " << v.chestRotation << std::endl; - os << "elapsedTime: " << v.elapsedTime << std::endl; - return os; -} - -std::ostream &operator<<(std::ostream &os, const EmeraldBoobBounceState &v) -{ - os << "EmeraldBoobBounceState" << std::endl; - os << "bounceStart: " << v.bounceStart << std::endl; - os << "bounceStartAmplitude: " << v.bounceStartAmplitude << std::endl; - os << "bounceStartFrameDuration: " << v.bounceStartFrameDuration << std::endl; - return os; -} - -F32 EmeraldBoobUtils::convertMass(F32 displayMass) -{ return displayMass/100.f*150.f; }; - -F32 EmeraldBoobUtils::convertHardness(F32 displayHardness) -{ return displayHardness/100.f*50; }; - -F32 EmeraldBoobUtils::convertVelMax(F32 displayVelMax) -{ return displayVelMax/100.f*0.01f; }; - -F32 EmeraldBoobUtils::convertFriction(F32 displayFriction) -{ return displayFriction/100.f*1.0f; }; - -F32 EmeraldBoobUtils::convertVelMin(F32 displayVelMin) -{ return displayVelMin/100.f; }; - -EmeraldBoobState EmeraldBoobUtils::idleUpdate(const EmeraldGlobalBoobConfig &config, const EmeraldAvatarLocalBoobConfig &localConfig, const EmeraldBoobState &oldState, const EmeraldBoobInputs &inputs) -{ - EmeraldBoobState newState; - F32 avatarLocalMass = 0.0f; - F32 partMod = 1.f; - - if(!config.enabled) - return newState; - - newState.boobGrav = localConfig.actualBoobGrav; - avatarLocalMass = (llclamp(localConfig.boobSize, 0.0f, 0.5f) / 0.5f); - - newState.elapsedTime = inputs.elapsedTime; - // seemed to create incorrect amounts of velocity when FPS varied - newState.frameDuration = inputs.elapsedTime - oldState.elapsedTime; - newState.chestPosition = inputs.chestPosition; - newState.chestRotation = inputs.chestRotation; - newState.chestDisplacement = inputs.chestPosition - oldState.chestPosition; - newState.localChestDisplacement = newState.chestDisplacement * ~inputs.chestRotation; - - - std::list bounceStates = oldState.bounceStates; - - if(fabs(newState.localChestDisplacement.length()) > 0.f) - { - F32 boobVel = 0.f; - boobVel = newState.localChestDisplacement.mV[VZ]; - boobVel += newState.localChestDisplacement[VX] * config.XYInfluence; - boobVel += newState.localChestDisplacement.mV[VY] * config.XYInfluence; - boobVel = llclamp(boobVel, -config.velMax, config.velMax); - boobVel *= newState.frameDuration * 0.3f * 100.f; - - if(fabs(boobVel) <= config.velMin * newState.frameDuration * 100.f) - boobVel = 0.0f; - else - { - EmeraldBoobBounceState bounceState; - bounceState.bounceStart = inputs.elapsedTime; - bounceState.bounceStartFrameDuration = newState.frameDuration; - bounceState.bounceStartAmplitude = boobVel; - bounceState.bounceStartAmplitude *= avatarLocalMass; - bounceState.bounceStartAmplitude *= config.mass; - bounceStates.push_front(bounceState); - } - } - - F32 totalNewAmplitude = 0.0f; - //std::cout << "Beginning bounce State processing at time " << inputs.elapsedTime << std::endl; - while(!bounceStates.empty()) { - EmeraldBoobBounceState bounceState = bounceStates.front(); - //std::cout << "Now processing " << bounceState; - bounceStates.pop_front(); - F32 bounceTime = newState.elapsedTime-bounceState.bounceStart; - F32 newAmplitude = bounceState.bounceStartAmplitude*pow(60.f*config.friction, -bounceTime)*cos(config.hardness*partMod*bounceTime); - if(fabs(newAmplitude) < 0.005f) { - newAmplitude = 0.0f; - } else { - newState.bounceStates.push_front(bounceState); - } - totalNewAmplitude+=newAmplitude; - } - - newState.boobGrav = totalNewAmplitude; - - - newState.boobGrav = llclamp(newState.boobGrav, -1.5f, 2.0f); - - return newState; -} diff --git a/indra/newview/emeraldboobutils.h b/indra/newview/emeraldboobutils.h deleted file mode 100644 index a9cdf3abc..000000000 --- a/indra/newview/emeraldboobutils.h +++ /dev/null @@ -1,163 +0,0 @@ -#ifndef __emeraldboobutils_h -#define __emeraldboobutils_h - -#include -#include - -#include "stdtypes.h" -#include "v3math.h" -#include "llquaternion.h" - -struct EmeraldGlobalBoobConfig -{ - bool enabled; - F32 mass; - F32 hardness; - F32 zMax; - F32 velMin; - F32 velMax; - F32 zInfluence; - F32 friction; - F32 XYInfluence; - - EmeraldGlobalBoobConfig() - : enabled(false), - mass(6.4f), - hardness(0.67f), - zMax(1.29f), - velMin(0.0027f*0.017f), - velMax(0.0027f), - zInfluence(0.0f), - friction(0.35f), - XYInfluence(0.3f) - { - } -}; - -std::ostream &operator<<(std::ostream &os, const EmeraldGlobalBoobConfig &v); - -struct EmeraldAvatarLocalBoobConfig -{ - F32 actualBoobGrav; - F32 boobSize; - - EmeraldAvatarLocalBoobConfig() - : actualBoobGrav(0.0f), - boobSize(0.0f) - { - } - - bool operator==(const EmeraldAvatarLocalBoobConfig &other) const - { - return - actualBoobGrav == other.actualBoobGrav && - boobSize == other.boobSize; - } - -}; - -std::ostream &operator<<(std::ostream &os, const EmeraldAvatarLocalBoobConfig &v); - -struct EmeraldBoobBounceState; - -struct EmeraldBoobState -{ - F32 boobGrav; - LLVector3 chestPosition; - LLQuaternion chestRotation; - F32 elapsedTime; - F32 frameDuration; - LLVector3 chestDisplacement; - LLVector3 localChestDisplacement; - std::list bounceStates; - - EmeraldBoobState() - : boobGrav(0.0f), - chestPosition(0.0f,0.0f,0.0f), - chestRotation(0.0f,0.0f,0.0f,1.0f), - elapsedTime(0.0f), - frameDuration(0.0f), - chestDisplacement(0.0f,0.0f,0.0f), - localChestDisplacement(0.0f,0.0f,0.0f) - { - } - - bool operator==(const EmeraldBoobState &other) const - { - return - boobGrav == other.boobGrav && - chestPosition == other.chestPosition && - chestRotation == other.chestRotation && - elapsedTime == other.elapsedTime && - frameDuration == other.frameDuration && - chestDisplacement == other.chestDisplacement && - localChestDisplacement == other.localChestDisplacement && - bounceStates == other.bounceStates; - } -}; - -std::ostream &operator<<(std::ostream &os, const EmeraldBoobState &v); - -struct EmeraldBoobInputs -{ - LLVector3 chestPosition; - LLQuaternion chestRotation; - F32 elapsedTime; - - EmeraldBoobInputs() - : chestPosition(0.0f,0.0f,0.0f), - chestRotation(0.0f,0.0f,0.0f,1.0f), - elapsedTime(0.0f) - { - } - - bool operator==(const EmeraldBoobInputs &other) const - { - return - chestPosition == other.chestPosition && - chestRotation == other.chestRotation && - elapsedTime == other.elapsedTime; - } -}; - -std::ostream &operator<<(std::ostream &os, const EmeraldBoobInputs &v); - -struct EmeraldBoobBounceState -{ - F32 bounceStart; - F32 bounceStartAmplitude; - F32 bounceStartFrameDuration; - - EmeraldBoobBounceState() - : bounceStart(0.0f), - bounceStartAmplitude(0.0f), - bounceStartFrameDuration(0.0f) - { - }; - - bool operator==(const EmeraldBoobBounceState &other) const - { - return - bounceStart == other.bounceStart && - bounceStartAmplitude == other.bounceStartAmplitude && - bounceStartFrameDuration == other.bounceStartFrameDuration; - } -}; - -std::ostream &operator<<(std::ostream &os, const EmeraldBoobBounceState &v); - - -struct EmeraldBoobUtils -{ -public: - static EmeraldBoobState idleUpdate(const EmeraldGlobalBoobConfig &config, const EmeraldAvatarLocalBoobConfig &localConfig, const EmeraldBoobState &oldState, const EmeraldBoobInputs &inputs); - - static F32 convertMass(F32 displayMass); - static F32 convertHardness(F32 displayHardness); - static F32 convertVelMax(F32 displayVelMax); - static F32 convertFriction(F32 displayFriction); - static F32 convertVelMin(F32 displayVelMin); -}; - - -#endif diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index cdf4a4c11..e106e2299 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1308,30 +1308,6 @@ void LLAgentWearables::removeWearableFinal( LLWearableType::EType type, bool do_ gInventory.notifyObservers(); } -/*static bool isFirstPhysicsWearable(LLWearableType::EType type, LLInventoryItem *new_item, LLWearable *new_wearable) -{ - if (type == LLWearableType::WT_PHYSICS && gSavedSettings.getWarning("FirstPhysicsWearable")) - { - class WearableDelayedCallback - { - public: - static void setDelayedWearable( const LLSD& notification, const LLSD& response, LLUUID item_id, LLWearable *wearable ) - { - if(LLNotification::getSelectedOption(notification, response) == 0) //User selected wear - { - gSavedSettings.setWarning("FirstPhysicsWearable",FALSE); - LLInventoryItem *item = gInventory.getItem(item_id); - if(item) - gAgentWearables.setWearableItem(item,wearable); //re-enter. - } - } - }; - LLNotificationsUtil::add("FirstPhysicsWearable",LLSD(),LLSD(),boost::bind(WearableDelayedCallback::setDelayedWearable, _1, _2, new_item->getUUID(),new_wearable)); - return true; - } - return false; -}*/ - // Assumes existing wearables are not dirty. void LLAgentWearables::setWearableOutfit(const LLInventoryItem::item_array_t& items, const LLDynamicArray< LLViewerWearable* >& wearables, @@ -1373,11 +1349,6 @@ void LLAgentWearables::setWearableOutfit(const LLInventoryItem::item_array_t& it { const LLWearableType::EType type = new_wearable->getType(); - /*if (isFirstPhysicsWearable(type, new_item, new_wearable)) - { - return; - }*/ - new_wearable->setName(new_item->getName()); new_wearable->setItemID(new_item->getUUID()); diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 7ded08e1a..e3e300a7d 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2193,7 +2193,6 @@ bool LLAppViewer::initConfiguration() LLFirstUse::addConfigVariable("FirstSculptedPrim"); LLFirstUse::addConfigVariable("FirstVoice"); LLFirstUse::addConfigVariable("FirstMedia"); - LLFirstUse::addConfigVariable("FirstPhysicsWearable"); // [RLVa:KB] - Checked: RLVa-1.0.3a (2009-09-10) | Added: RLVa-1.0.3a //LLFirstUse::addConfigVariable(RLV_SETTING_FIRSTUSE_DETACH); diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp index 8d3a249fd..d3cf56ff4 100644 --- a/indra/newview/llphysicsmotion.cpp +++ b/indra/newview/llphysicsmotion.cpp @@ -109,9 +109,7 @@ public: mLastTime(0), mPosition_local(0), mVelocityJoint_local(0), - mPositionLastUpdate_local(0), - mAccelerationJoint_local(0), - mVelocity_local(0) + mPositionLastUpdate_local(0) { mJointState = new LLJointState; @@ -119,8 +117,7 @@ public: { mParamCache[i] = NULL; } - } - void getString(std::ostringstream &oss); + } BOOL initialize(); @@ -132,8 +129,6 @@ public: { return mJointState; } - - void reset(); protected: F32 getParamValue(eParamName param) @@ -238,84 +233,9 @@ BOOL LLPhysicsMotion::initialize() return TRUE; } -std::string LLPhysicsMotionController::getString() -{ - std::ostringstream oss; - oss << "{" << std::endl << - "Active: " << mActive << std::endl << - "IsDefault: " << mIsDefault << std::endl << - "Stopped: " << isStopped() << std::endl << - "Name: " << getName() << std::endl << - "ID: " << getID().asString() << std::endl; - - for (motion_vec_t::iterator iter = mMotions.begin();iter != mMotions.end();++iter) - { - (*iter)->getString(oss); - } - oss << "}" << std::endl; - return oss.str(); -} -void getParamString(U32 depth, LLViewerVisualParam *param, std::ostringstream &oss) -{ - std::string indent; - indent.resize(depth,' '); - - oss << - indent << "getID: " << param->getID() << std::endl << - indent << "getName: " << param->getName() << std::endl << - indent << "getDisplayName: " << param->getDisplayName() << std::endl << - indent << "getGroup: " << param->getGroup() << std::endl << - indent << "getSex: " << param->getSex() << std::endl << - indent << "getMinWeight: " << param->getMinWeight() << std::endl << - indent << "getMaxWeight: " << param->getMaxWeight() << std::endl << - indent << "getDefaultWeight: " << param->getDefaultWeight() << std::endl << - indent << "getWeight: " << param->getWeight() << std::endl << - indent << "getCurrentWeight: " << param->getCurrentWeight() << std::endl << - indent << "getLastWeight: " << param->getLastWeight() << std::endl << - indent << "isAnimating: " << param->isAnimating() << std::endl << - indent << "isTweakable: " << param->isTweakable() << std::endl; -} -void LLPhysicsMotion::getString(std::ostringstream &oss) -{ - oss << - " mParamDriverName: " << mParamDriverName << std::endl << - " mParamControllerName: " << mParamControllerName << std::endl << - " mMotionDirectionVec: " << mMotionDirectionVec << std::endl << - " mJointName: " << mJointName << std::endl << - " mPosition_local: " << mPosition_local << std::endl << - " mVelocityJoint_local: " << mVelocityJoint_local << std::endl << - " mAccelerationJoint_local: " << mAccelerationJoint_local << std::endl << - " mPositionLastUpdate_local: " << mPositionLastUpdate_local << std::endl << - " mPosition_world: " << mPosition_world << std::endl << - " mVelocity_local: " << mVelocity_local << std::endl; - if(mParamDriver) - { - oss << " " << std::endl; - getParamString(2,mParamDriver,oss); - LLDriverParam *driver_param = dynamic_cast(mParamDriver); - if(driver_param) - { - for (LLDriverParam::entry_list_t::iterator iter = driver_param->mDriven.begin(); - iter != driver_param->mDriven.end();++iter) - { - oss << " " << std::endl; - getParamString(3,iter->mParam,oss); - } - } - } - else - oss << " mParamDriver: (NULL)" << std::endl; - oss << " Controllers:" << std::endl; - for(controller_map_t::const_iterator it = mParamControllers.begin(); it!= mParamControllers.end(); ++it) - { - oss << " mParamControllers[\"" << it->first << "\"] = \"" << it->second << "\" =" << mCharacter->getVisualParamWeight(it->first.c_str()) << std::endl; - } -} - LLPhysicsMotionController::LLPhysicsMotionController(const LLUUID &id) : LLMotion(id), - mCharacter(NULL), - mIsDefault(true) + mCharacter(NULL) { mName = "breast_motion"; } @@ -514,9 +434,9 @@ F32 LLPhysicsMotion::calculateVelocity_local() const LLVector3 position_world = joint->getWorldPosition(); const LLVector3 last_position_world = mPosition_world; const LLVector3 positionchange_world = (position_world-last_position_world) * world_to_model_scale; - const LLVector3 velocity_world = positionchange_world; - const F32 velocity_local = toLocal(velocity_world); - return velocity_local; + const LLVector3 velocity_world = positionchange_world; + const F32 velocity_local = toLocal(velocity_world); + return velocity_local; } F32 LLPhysicsMotion::calculateAcceleration_local(const F32 velocity_local) @@ -535,26 +455,11 @@ F32 LLPhysicsMotion::calculateAcceleration_local(const F32 velocity_local) BOOL LLPhysicsMotionController::onUpdate(F32 time, U8* joint_mask) { // Skip if disabled globally. - static const LLCachedControl avatar_physics("AvatarPhysics",false); - bool physics_unsupported = !avatar_physics || (!((LLVOAvatar*)mCharacter)->isSelf() && !((LLVOAvatar*)mCharacter)->mSupportsPhysics); - //Treat lod 0 as AvatarPhyiscs:FALSE. AvatarPhyiscs setting is superfluous unless we decide to hook it into param sending. - if (physics_unsupported || !LLVOAvatar::sPhysicsLODFactor) + if (!gSavedSettings.getBOOL("AvatarPhysics")) { - if(!mIsDefault) - { - mIsDefault = true; - for (motion_vec_t::iterator iter = mMotions.begin();iter != mMotions.end();++iter) - { - (*iter)->reset(); - } - mCharacter->updateVisualParams(); - } - ((LLVOAvatar*)mCharacter)->idleUpdateBoobEffect(); //Emerald physics will fix params it altered if wearable physics are disabled. - return TRUE; - } + return TRUE; + } - mIsDefault = false; - BOOL update_visuals = FALSE; for (motion_vec_t::iterator iter = mMotions.begin(); iter != mMotions.end(); @@ -871,21 +776,3 @@ void LLPhysicsMotion::setParamValue(const LLViewerVisualParam *param, new_value_local, FALSE); } - -void LLPhysicsMotion::reset() -{ - LLDriverParam *driver_param = dynamic_cast(mParamDriver); - if (driver_param) - { - if ((driver_param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE) && - (driver_param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT)) - { - mCharacter->setVisualParamWeight(driver_param,driver_param->getDefaultWeight()); - } - for (LLDriverParam::entry_list_t::iterator iter = driver_param->mDriven.begin(); - iter != driver_param->mDriven.end();++iter) - { - mCharacter->setVisualParamWeight((*iter).mParam,(*iter).mParam->getDefaultWeight()); - } - } -} diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index 2743215bf..76646c83e 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -81,7 +81,6 @@ #include "aistatemachine.h" #include "aithreadsafe.h" #include "lldrawpoolbump.h" -#include "emeraldboobutils.h" #include "aicurl.h" #include "aihttptimeoutpolicy.h" @@ -193,49 +192,6 @@ static bool handleRenderPerfTestChanged(const LLSD& newvalue) return true; } -static bool handleAvatarBoobMassChanged(const LLSD& newvalue) -{ - LLVOAvatar::sBoobConfig.mass = EmeraldBoobUtils::convertMass((F32) newvalue.asReal()); - return true; -} - -static bool handleAvatarBoobHardnessChanged(const LLSD& newvalue) -{ - LLVOAvatar::sBoobConfig.hardness = EmeraldBoobUtils::convertHardness((F32) newvalue.asReal()); - return true; -} - -static bool handleAvatarBoobVelMaxChanged(const LLSD& newvalue) -{ - LLVOAvatar::sBoobConfig.velMax = EmeraldBoobUtils::convertVelMax((F32) newvalue.asReal()); - LLVOAvatar::sBoobConfig.velMin = LLVOAvatar::sBoobConfig.velMin*LLVOAvatar::sBoobConfig.velMax; - return true; -} - -static bool handleAvatarBoobFrictionChanged(const LLSD& newvalue) -{ - LLVOAvatar::sBoobConfig.friction = EmeraldBoobUtils::convertFriction((F32) newvalue.asReal()); - return true; -} - -static bool handleAvatarBoobVelMinChanged(const LLSD& newvalue) -{ - LLVOAvatar::sBoobConfig.velMin = EmeraldBoobUtils::convertVelMin((F32) newvalue.asReal())*LLVOAvatar::sBoobConfig.velMax; - return true; -} - -static bool handleAvatarBoobToggleChanged(const LLSD& newvalue) -{ - LLVOAvatar::sBoobConfig.enabled = (BOOL) newvalue.asReal(); - return true; -} - -static bool handleAvatarBoobXYInfluence(const LLSD& newvalue) -{ - LLVOAvatar::sBoobConfig.XYInfluence = (F32) newvalue.asReal(); - return true; -} - static bool handleSetSelfInvisible( const LLSD& newvalue) { LLVOAvatarSelf::onChangeSelfInvisible( newvalue.asBoolean() ); @@ -828,14 +784,6 @@ void settings_setup_listeners() gSavedSettings.getControl("CloudsEnabled")->getSignal()->connect(boost::bind(&handleCloudSettingsChanged, _2)); gSavedSettings.getControl("SkyUseClassicClouds")->getSignal()->connect(boost::bind(&handleCloudSettingsChanged, _2)); gSavedSettings.getControl("RenderTransparentWater")->getSignal()->connect(boost::bind(&handleRenderTransparentWaterChanged, _2)); - - gSavedSettings.getControl("EmeraldBoobMass")->getSignal()->connect(boost::bind(&handleAvatarBoobMassChanged, _2)); - gSavedSettings.getControl("EmeraldBoobHardness")->getSignal()->connect(boost::bind(&handleAvatarBoobHardnessChanged, _2)); - gSavedSettings.getControl("EmeraldBoobVelMax")->getSignal()->connect(boost::bind(&handleAvatarBoobVelMaxChanged, _2)); - gSavedSettings.getControl("EmeraldBoobFriction")->getSignal()->connect(boost::bind(&handleAvatarBoobFrictionChanged, _2)); - gSavedSettings.getControl("EmeraldBoobVelMin")->getSignal()->connect(boost::bind(&handleAvatarBoobVelMinChanged, _2)); - gSavedSettings.getControl("EmeraldBreastPhysicsToggle")->getSignal()->connect(boost::bind(&handleAvatarBoobToggleChanged, _2)); - gSavedSettings.getControl("EmeraldBoobXYInfluence")->getSignal()->connect(boost::bind(&handleAvatarBoobXYInfluence, _2)); gSavedSettings.getControl("AscentAvatarXModifier")->getSignal()->connect(boost::bind(&handleAscentAvatarModifier, _2)); gSavedSettings.getControl("AscentAvatarYModifier")->getSignal()->connect(boost::bind(&handleAscentAvatarModifier, _2)); diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index f90c82fa7..5ed1a2aa1 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -206,9 +206,6 @@ const S32 MAX_BUBBLE_CHAT_UTTERANCES = 12; const F32 CHAT_FADE_TIME = 8.0; const F32 BUBBLE_CHAT_TIME = CHAT_FADE_TIME * 3.f; -const U32 EMERALD_BOOB_SIZE_PARAM = 105; -const U32 EMERALD_BOOB_GRAVITY_PARAM = 507; - //Singu note: FADE and ALWAYS are swapped around from LL's source to match our preference panel. // Changing the "RenderName" order would cause confusion when 'always' setting suddenly gets // interpreted as 'fade', and vice versa. @@ -906,12 +903,10 @@ void SHClientTagMgr::clearAvatarTag(const LLVOAvatar* pAvatar) LLAvatarAppearanceDictionary *LLVOAvatar::sAvatarDictionary = NULL; S32 LLVOAvatar::sFreezeCounter = 0; U32 LLVOAvatar::sMaxVisible = 50; - F32 LLVOAvatar::sRenderDistance = 256.f; S32 LLVOAvatar::sNumVisibleAvatars = 0; S32 LLVOAvatar::sNumLODChangesThisFrame = 0; - const LLUUID LLVOAvatar::sStepSoundOnLand("e8af4a28-aa83-4310-a7c4-c047e15ea0df"); const LLUUID LLVOAvatar::sStepSounds[LL_MCODE_END] = { @@ -946,9 +941,6 @@ F32 LLVOAvatar::sGreyUpdateTime = 0.f; //Move to LLVOAvatarSelf BOOL LLVOAvatar::sDebugAvatarRotation = FALSE; -//Custom stuff. -EmeraldGlobalBoobConfig LLVOAvatar::sBoobConfig; - //----------------------------------------------------------------------------- // Helper functions //----------------------------------------------------------------------------- @@ -1008,8 +1000,6 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id, mIsEditingAppearance(FALSE), mUseLocalAppearance(FALSE), mUseServerBakes(FALSE), // FIXME DRANO consider using boost::optional, defaulting to unknown. - mFirstSetActualBoobGravRan( false ), - mSupportsPhysics( false ), // mIdleMinute(0), mCCSChatTextOverride(false) @@ -1523,15 +1513,6 @@ void LLVOAvatar::initInstance(void) LLAvatarAppearance::initInstance(); - // grab the boob savedparams (prob a better place for this) - sBoobConfig.mass = EmeraldBoobUtils::convertMass(gSavedSettings.getF32("EmeraldBoobMass")); - sBoobConfig.hardness = EmeraldBoobUtils::convertHardness(gSavedSettings.getF32("EmeraldBoobHardness")); - sBoobConfig.velMax = EmeraldBoobUtils::convertVelMax(gSavedSettings.getF32("EmeraldBoobVelMax")); - sBoobConfig.velMin = EmeraldBoobUtils::convertVelMin(gSavedSettings.getF32("EmeraldBoobVelMin"))*sBoobConfig.velMax; - sBoobConfig.friction = EmeraldBoobUtils::convertFriction(gSavedSettings.getF32("EmeraldBoobFriction")); - sBoobConfig.enabled = gSavedSettings.getBOOL("EmeraldBreastPhysicsToggle"); - sBoobConfig.XYInfluence = gSavedSettings.getF32("EmeraldBoobXYInfluence"); - if (gNoRender) { return; @@ -2173,7 +2154,7 @@ void LLVOAvatar::updateMeshData() U32 LLVOAvatar::processUpdateMessage(LLMessageSystem *mesgsys, void **user_data, U32 block_num, const EObjectUpdateType update_type, - LLDataPacker *dp) + LLDataPacker *dp) { const BOOL has_name = !getNVPair("FirstName"); @@ -2288,7 +2269,7 @@ void LLVOAvatar::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time) return; } - if (!(gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_AVATAR))) + if (!(gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_AVATAR))) { return; } @@ -2367,7 +2348,6 @@ void LLVOAvatar::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time) idleUpdateAppearanceAnimation(); if (detailed_update) { - //idleUpdateBoobEffect(); idleUpdateLipSync( voice_enabled ); idleUpdateLoadingEffect(); idleUpdateBelowWater(); // wind effect uses this @@ -2689,48 +2669,10 @@ F32 LLVOAvatar::calcMorphAmount() { morph_amt = (blend_frac - last_blend_frac) / (1.f - last_blend_frac); } - + return morph_amt; } -// ------------------------------------------------------------ -// Danny: ZOMG Boob Phsyics go! -// ------------------------------------------------------------ -void LLVOAvatar::idleUpdateBoobEffect() -{ - if(mFirstSetActualBoobGravRan) - { - // should probably be moved somewhere where it is only called when boobsize changes - static const LLCachedControl avatar_physics("AvatarPhysics",false); - - EmeraldBoobState newBoobState; - - if(!avatar_physics || (!isSelf() && !mSupportsPhysics)) - { - mLocalBoobConfig.boobSize = getVisualParam(EMERALD_BOOB_SIZE_PARAM)->getCurrentWeight(); - - EmeraldBoobInputs boobInputs; - boobInputs.chestPosition = mChestp->getWorldPosition(); - boobInputs.chestRotation = mChestp->getWorldRotation(); - boobInputs.elapsedTime = mBoobBounceTimer.getElapsedTimeF32(); - - newBoobState = EmeraldBoobUtils::idleUpdate(sBoobConfig, mLocalBoobConfig, mBoobState, boobInputs); - } - - if(mBoobState.boobGrav != newBoobState.boobGrav) - { - LLVisualParam *param = getVisualParam(EMERALD_BOOB_GRAVITY_PARAM); - - param->stopAnimating(FALSE); - param->setWeight(llclamp(newBoobState.boobGrav+getActualBoobGrav(), -1.5f, 2.f), FALSE); - param->apply(getSex()); - updateVisualParams(); - } - - mBoobState = newBoobState; - } -} - void LLVOAvatar::idleUpdateLipSync(bool voice_enabled) { // Use the Lipsync_Ooh and Lipsync_Aah morphs for lip sync @@ -3200,7 +3142,7 @@ void LLVOAvatar::idleUpdateNameTagText(BOOL new_name) // LLFontGL::getFontSansSerifSmall()); } - // static LLICachedControl show_display_names("NameTagShowDisplayNames"); + // static LLUICachedControl show_display_names("NameTagShowDisplayNames"); // static LLUICachedControl show_usernames("NameTagShowUsernames"); static const LLCachedControl phoenix_name_system("PhoenixNameSystem", 0); @@ -3409,8 +3351,8 @@ void LLVOAvatar::idleUpdateNameTagText(BOOL new_name) { // ...not using chat bubbles, just names mNameText->setTextAlignment(LLHUDNameTag::ALIGN_TEXT_CENTER); - mNameText->setFadeDistance(CHAT_NORMAL_RADIUS, 5.f); - mNameText->setVisibleOffScreen(FALSE); + mNameText->setFadeDistance(CHAT_NORMAL_RADIUS, 5.f); + mNameText->setVisibleOffScreen(FALSE); } } @@ -3433,8 +3375,8 @@ void LLVOAvatar::clearNameTag() { mNameString.clear(); if (mNameText) - { - mNameText->setLabel(""); + { + mNameText->setLabel(""); mNameText->setString( "" ); } } @@ -3460,7 +3402,7 @@ void LLVOAvatar::invalidateNameTags() LLVOAvatar* avatar = dynamic_cast(*it); if (!avatar) continue; if (avatar->isDead()) continue; - + avatar->clearNameTag(); } @@ -3642,13 +3584,13 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent) { output = llformat("%s - %d", motionp->getID().asString().c_str(), - (U32)motionp->getPriority()); + (U32)motionp->getPriority()); } else { output = llformat("%s - %d", - motionp->getName().c_str(), - (U32)motionp->getPriority()); + motionp->getName().c_str(), + (U32)motionp->getPriority()); } addDebugText(output); } @@ -3818,7 +3760,7 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent) resolveHeightGlobal(root_pos, ground_under_pelvis, normal); F32 foot_to_ground = (F32) (root_pos.mdV[VZ] - mPelvisToFoot - ground_under_pelvis.mdV[VZ]); - BOOL in_air = ( (!LLWorld::getInstance()->getRegionFromPosGlobal(ground_under_pelvis)) || + BOOL in_air = ((!LLWorld::getInstance()->getRegionFromPosGlobal(ground_under_pelvis)) || foot_to_ground > FOOT_GROUND_COLLISION_TOLERANCE); if (in_air && !mInAir) @@ -3836,7 +3778,7 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent) if (newPosition != mRoot->getXform()->getWorldPosition()) { mRoot->touch(); - mRoot->setWorldPosition(newPosition ); // regular update + mRoot->setWorldPosition( newPosition ); // regular update } @@ -4212,7 +4154,7 @@ void LLVOAvatar::updateVisibility() if(isSelf()) { - if( !gAgentWearables.areWearablesLoaded()) + if (!gAgentWearables.areWearablesLoaded()) { visible = FALSE; } @@ -4353,11 +4295,11 @@ U32 LLVOAvatar::renderSkinned(EAvatarRenderPass pass) { //LOD changed or new mesh created, allocate new vertex buffer if needed if (needs_rebuild || mDirtyMesh >= 2 || mVisibilityRank <= 4) { - updateMeshData(); + updateMeshData(); mDirtyMesh = 0; - mNeedsSkin = TRUE; - mDrawable->clearState(LLDrawable::REBUILD_GEOMETRY); - } + mNeedsSkin = TRUE; + mDrawable->clearState(LLDrawable::REBUILD_GEOMETRY); + } } if (LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_AVATAR) <= 0) @@ -4985,7 +4927,7 @@ void LLVOAvatar::updateTextures() layer_baked.push_back(isTextureDefined(mBakedTextureDatas[i].mTextureIndex)); // bind the texture so that they'll be decoded slightly // inefficient, we can short-circuit this if we have to - if( render_avatar && !gGLManager.mIsDisabled ) + if (render_avatar && !gGLManager.mIsDisabled) { if (layer_baked[i] && !mBakedTextureDatas[i].mIsLoaded) { @@ -5150,7 +5092,7 @@ void LLVOAvatar::checkTextureLoading() } const F32 SELF_ADDITIONAL_PRI = 0.75f ; -const F32 ADDITIONAL_PRI = 0.5f; +const F32 ADDITIONAL_PRI = 0.5f; void LLVOAvatar::addBakedTextureStats( LLViewerFetchedTexture* imagep, F32 pixel_area, F32 texel_area_ratio, S32 boost_level) { //Note: @@ -6544,7 +6486,7 @@ void LLVOAvatar::sitOnObject(LLViewerObject *sit_object) gAgentCamera.changeCameraToMouselook(); } } - + if (mDrawable.isNull() || sit_object->mDrawable.isNull()) { return; @@ -8032,7 +7974,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys ) && baked_index != BAKED_SKIRT) { setTEImage(mBakedTextureDatas[baked_index].mTextureIndex, - LLViewerTextureManager::getFetchedTexture(mBakedTextureDatas[baked_index].mLastTextureID, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE)); + LLViewerTextureManager::getFetchedTexture(mBakedTextureDatas[baked_index].mLastTextureID, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE)); } } @@ -8053,8 +7995,6 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys ) setCompositeUpdatesEnabled( FALSE ); gPipeline.markGLRebuild(this); - mSupportsPhysics = false; - // Apply visual params if( num_params > 1) { @@ -8062,20 +8002,11 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys ) BOOL params_changed = FALSE; BOOL interp_params = FALSE; - for( S32 i = 0; i < num_params; i++ ) + for( S32 i = 0; i < num_params; i++ ) { LLVisualParam* param = contents.mParams[i]; F32 newWeight = contents.mParamWeights[i]; - if(param->getID() == 10000) - { - mSupportsPhysics = true; - } - else if(param->getID() == EMERALD_BOOB_GRAVITY_PARAM && newWeight != getActualBoobGrav()) - { - setActualBoobGrav(newWeight); - } - if (is_first_appearance_message || (param->getWeight() != newWeight)) { params_changed = TRUE; @@ -8290,7 +8221,7 @@ void LLVOAvatar::onBakedTextureLoaded(BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* aux_src, S32 discard_level, BOOL final, void* userdata) { - //llinfos << "onBakedTextureLoaded: " << src_vi->getID() << llendl; + // llinfos << "onBakedTextureLoaded: " << src_vi->getID() << llendl; LLUUID id = src_vi->getID(); LLUUID *avatar_idp = (LLUUID *)userdata; diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 5ceeee92b..10b025197 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -52,7 +52,6 @@ #include "material_codes.h" // LL_MCODE_END #include "llviewerstats.h" -#include "emeraldboobutils.h" #include "llavatarname.h" extern const LLUUID ANIM_AGENT_BODY_NOISE; @@ -292,7 +291,6 @@ public: void addNameTagLine(const std::string& line, const LLColor4& color, S32 style, const LLFontGL* font); void idleUpdateRenderCost(); void idleUpdateBelowWater(); - void idleUpdateBoobEffect(); //Emerald //-------------------------------------------------------------------- // Static preferences (controlled by user settings/menus) @@ -871,30 +869,6 @@ private: BOOL mStepOnLand; U8 mStepMaterial; LLVector3 mStepObjectVelocity; - -public: - bool mSupportsPhysics; //Client supports v2 wearable physics. Disable emerald physics. - - //-------------------------------------------------------------------- - // Emerald legacy boob bounce - //-------------------------------------------------------------------- -public: - F32 getActualBoobGrav() const { return mLocalBoobConfig.actualBoobGrav; } - void setActualBoobGrav(F32 grav) - { - mLocalBoobConfig.actualBoobGrav = grav; - if(!mFirstSetActualBoobGravRan) - { - mBoobState.boobGrav = grav; - mFirstSetActualBoobGravRan = true; - } - } - static EmeraldGlobalBoobConfig sBoobConfig; -private: - bool mFirstSetActualBoobGravRan; - LLFrameTimer mBoobBounceTimer; - EmeraldAvatarLocalBoobConfig mLocalBoobConfig; - EmeraldBoobState mBoobState; /** Physics ** ** @@ -1091,6 +1065,4 @@ private: extern const F32 SELF_ADDITIONAL_PRI; extern const S32 MAX_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL; -extern const U32 EMERALD_BOOB_SIZE_PARAM; //"Breast Size" -extern const U32 EMERALD_BOOB_GRAVITY_PARAM; //"Breast_Gravity" #endif // LL_VOAVATAR_H diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 8c54a558b..6ce7fd2e5 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -651,11 +651,6 @@ BOOL LLVOAvatarSelf::setParamWeight(const LLViewerVisualParam *param, F32 weight } } - if(param->getID() == EMERALD_BOOB_GRAVITY_PARAM && weight != getActualBoobGrav()) - { - setActualBoobGrav(weight); - } - return LLCharacter::setVisualParamWeight(param,weight,upload_bake); } diff --git a/indra/newview/skins/default/xui/en-us/notifications.xml b/indra/newview/skins/default/xui/en-us/notifications.xml index 410e0afd2..ff3d21719 100644 --- a/indra/newview/skins/default/xui/en-us/notifications.xml +++ b/indra/newview/skins/default/xui/en-us/notifications.xml @@ -7495,29 +7495,6 @@ You locally updated a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] For instructions, make a new template in the AO. Use the toolbar to toggle the AO on/off. - -By wearing a Physics Wearable certain server behavior will be enabled that many older viewers are incompatable with. On such viewers you may display incorrectly (often as 'Ruth'). - -If you wish to keep compatability with old viewers then you must not wear a Physics Wearable during your session. If you have already worn one during this session remove it and reconnect. - -Click 'Wear' to attach the Physics Wearable, or click 'Cancel' if you wish to maintain compatability with legacy clients. - -
-