diff --git a/indra/newview/character/avatar_lad.xml b/indra/newview/character/avatar_lad.xml index b839d6498064f3afbb0bba639fe30678e4c878d6..58fe82da9edc22d849e93294c5efbc4001dbb719 100644 --- a/indra/newview/character/avatar_lad.xml +++ b/indra/newview/character/avatar_lad.xml @@ -4443,7 +4443,7 @@ <param id="1089" group="0" - name="Butt_Physics_UpDown_Controller" + name="Butt_Physics_UpDown_Driven" wearable="shape" edit_group="driven" label_min="Separate" @@ -9350,6 +9350,27 @@ render_pass="bump"> <param_driver /> </param> + <param + id="1090" + group="0" + wearable="shape" + edit_group="shape_legs" + edit_group_order="14" + name="Butt_Physics_UpDown_Controller" + label="Butt Physics UpDown Controller" + label_min="Down" + label_max="Up" + value_min="-1" + value_max="1" + value_default="0" + camera_elevation=".3" + camera_distance=".8"> + <param_driver> + <driven + id="1089" /> + </param_driver> + </param> + <param id="507" group="0" diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp index 094faf4d9774a773a60a413144538e501ec58d3d..393120be40206152d18e49e6b1f951a1db3fe13f 100644 --- a/indra/newview/llphysicsmotion.cpp +++ b/indra/newview/llphysicsmotion.cpp @@ -64,7 +64,8 @@ inline F64 llsgn(const F64 a) by the actual params that the user sees and sets. For example, in the old system, the user sets a param called breast bouyancy, which controls the Z value of the breasts. In our new system, the user still sets the breast bouyancy, but that param is redefined - as a driver param so that it affects ... + as a driver param so that affects a new temporary driven param that the bounce is applied + to. */ class LLPhysicsMotion @@ -521,9 +522,6 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) 1.0f); // Set the new param. - // 1. If the user has specified a param target, use that. - // 2. If the param is a driver param, set the param(s) that it drives. - // 3. Otherwise, set the param directly (don't do this if the param is a user-editable param!) // If a specific param has been declared, then set that one. // Otherwise, assume that the param is a driver param, and // set the params that it drives. @@ -534,6 +532,7 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) else { LLDriverParam *driver_param = dynamic_cast<LLDriverParam *>(mParamUser); + llassert_always(driver_param); if (driver_param) { for (LLDriverParam::entry_list_t::iterator iter = driver_param->mDriven.begin(); @@ -545,10 +544,6 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) setParamValue(driven_param,position_new_local_clamped); } } - else - { - setParamValue(mParamUser,position_new_local_clamped); - } } // diff --git a/indra/newview/llpolymesh.cpp b/indra/newview/llpolymesh.cpp index f287202ff13ae2f21d77e6ca1976a3dbbeea0a05..626b7ca1eb7652326eccdd46655399e910ab257c 100644 --- a/indra/newview/llpolymesh.cpp +++ b/indra/newview/llpolymesh.cpp @@ -611,7 +611,7 @@ BOOL LLPolyMeshSharedData::loadMesh( const std::string& fileName ) { cloned_morph_data->mCoords[v][0] = 0; cloned_morph_data->mCoords[v][1] = 0; - cloned_morph_data->mCoords[v][2] = 0.01F; + cloned_morph_data->mCoords[v][2] = 0.05F; cloned_morph_data->mNormals[v] = LLVector3(0,0,0); cloned_morph_data->mBinormals[v] = LLVector3(0,0,0); } @@ -626,7 +626,7 @@ BOOL LLPolyMeshSharedData::loadMesh( const std::string& fileName ) { cloned_morph_data->mCoords[v][0] = 0; cloned_morph_data->mCoords[v][1] = 0; - cloned_morph_data->mCoords[v][2] = 0.01F; + cloned_morph_data->mCoords[v][2] = 0.05F; cloned_morph_data->mNormals[v] = LLVector3(0,0,0); cloned_morph_data->mBinormals[v] = LLVector3(0,0,0); } @@ -641,7 +641,7 @@ BOOL LLPolyMeshSharedData::loadMesh( const std::string& fileName ) { cloned_morph_data->mCoords[v][0] = 0; cloned_morph_data->mCoords[v][1] = 0; - cloned_morph_data->mCoords[v][2] = 0.01F; + cloned_morph_data->mCoords[v][2] = 0.05F; cloned_morph_data->mNormals[v] = LLVector3(0,0,0); cloned_morph_data->mBinormals[v] = LLVector3(0,0,0); } @@ -651,7 +651,7 @@ BOOL LLPolyMeshSharedData::loadMesh( const std::string& fileName ) if (!strcmp(morphName, "Small_Butt")) { LLPolyMorphData* cloned_morph_data = new LLPolyMorphData(*morph_data); - cloned_morph_data->mName = std::string("Butt_Physics_UpDown_Controller"); + cloned_morph_data->mName = std::string("Butt_Physics_UpDown_Driven"); for (U32 v=0; v < cloned_morph_data->mNumIndices; v++) { cloned_morph_data->mCoords[v][0] = 0;