From 86613fd388d7985abc814ee8ee52da54fd74779e Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Fri, 18 Mar 2011 16:04:28 -0400 Subject: Variety of fixes for param ranges. Turned off normal/binormal effects for morphing. Fixed issue where updates were always being sent even if below the change threshold. --- indra/newview/character/avatar_lad.xml | 18 +++++----- indra/newview/llphysicsmotion.cpp | 6 ++-- indra/newview/llpolymesh.cpp | 64 +++++++++++++++++++--------------- 3 files changed, 48 insertions(+), 40 deletions(-) (limited to 'indra') diff --git a/indra/newview/character/avatar_lad.xml b/indra/newview/character/avatar_lad.xml index 0fc62ccaf1..727a9e7fc4 100644 --- a/indra/newview/character/avatar_lad.xml +++ b/indra/newview/character/avatar_lad.xml @@ -9180,7 +9180,7 @@ render_pass="bump"> label_max="More" value_default="0" value_min="0" - value_max="100" + value_max="1" camera_elevation=".3" camera_distance=".8"> @@ -9196,9 +9196,9 @@ render_pass="bump"> edit_group="physics" label_min="Less" label_max="More" - value_default="3" + value_default=".1" value_min="0" - value_max="10" + value_max="1" camera_elevation=".3" camera_distance=".8"> @@ -9215,7 +9215,7 @@ render_pass="bump"> label_min="Less" label_max="More" value_default="10" - value_min="0" + value_min="1" value_max="100" camera_elevation=".3" camera_distance=".8"> @@ -9268,9 +9268,9 @@ render_pass="bump"> edit_group="physics" label_min="Less" label_max="More" - value_default="10" + value_default=".1" value_min="0" - value_max="10" + value_max=".1" camera_elevation=".3" camera_distance=".8"> @@ -9306,7 +9306,7 @@ render_pass="bump"> label_min="Less" label_max="More" value_default="10" - value_min="0" + value_min="1" value_max="100" camera_elevation=".3" camera_distance=".8"> @@ -9359,9 +9359,9 @@ render_pass="bump"> edit_group="physics" label_min="Less" label_max="More" - value_default="10" + value_default=".1" value_min="0" - value_max="10" + value_max=".1" camera_elevation=".3" camera_distance=".8"> diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp index eb128e043c..c9a75784e1 100644 --- a/indra/newview/llphysicsmotion.cpp +++ b/indra/newview/llphysicsmotion.cpp @@ -309,7 +309,7 @@ LLMotion::LLMotionInitStatus LLPhysicsMotionController::onInitialize(LLCharacter "", "mChest", character, - LLVector3(0,0,1), + LLVector3(0,0,-1), controllers_belly_bounce); if (!belly_bounce_motion->initialize()) return STATUS_FAILURE; @@ -337,7 +337,7 @@ F32 LLPhysicsMotion::toLocal(const LLVector3 &world) LLVector3 dir_world = mMotionDirectionVec * rotation_world; dir_world.normalize(); - return world * dir_world * mMotionDirectionVec.length(); // dot product + return world * dir_world; } F32 LLPhysicsMotion::calculateVelocity_local(const F32 time_delta) @@ -625,7 +625,7 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) } */ - return TRUE; + return update_visuals; } // Range of new_value_local is assumed to be [0 , 1] normalized. diff --git a/indra/newview/llpolymesh.cpp b/indra/newview/llpolymesh.cpp index 08813e6a98..4118401a4c 100644 --- a/indra/newview/llpolymesh.cpp +++ b/indra/newview/llpolymesh.cpp @@ -605,54 +605,62 @@ BOOL LLPolyMeshSharedData::loadMesh( const std::string& fileName ) if (!strcmp(morphName, "Big_Belly_Torso")) { - LLPolyMorphData* belly_data = new LLPolyMorphData(*morph_data); - belly_data->mName = std::string("Big_Belly_Torso_Gravity"); - for (U32 v=0; v < belly_data->mNumIndices; v++) + LLPolyMorphData* cloned_morph_data = new LLPolyMorphData(*morph_data); + cloned_morph_data->mName = std::string("Big_Belly_Torso_Gravity"); + for (U32 v=0; v < morph_data->mNumIndices; v++) { - belly_data->mCoords[v][0] = 0; - belly_data->mCoords[v][1] = 0; - belly_data->mCoords[v][2] = 0.01F; + 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->mNormals[v] = LLVector3(0,0,0); + cloned_morph_data->mBinormals[v] = LLVector3(0,0,0); } - mMorphData.insert(belly_data); + mMorphData.insert(cloned_morph_data); } if (!strcmp(morphName, "Big_Belly_Legs")) { - LLPolyMorphData* belly_data = new LLPolyMorphData(*morph_data); - belly_data->mName = std::string("Big_Belly_Legs_Gravity"); - for (U32 v=0; v < belly_data->mNumIndices; v++) + LLPolyMorphData* cloned_morph_data = new LLPolyMorphData(*morph_data); + cloned_morph_data->mName = std::string("Big_Belly_Legs_Gravity"); + for (U32 v=0; v < cloned_morph_data->mNumIndices; v++) { - belly_data->mCoords[v][0] = 0; - belly_data->mCoords[v][1] = 0; - belly_data->mCoords[v][2] = 0.01F; + 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->mNormals[v] = LLVector3(0,0,0); + cloned_morph_data->mBinormals[v] = LLVector3(0,0,0); } - mMorphData.insert(belly_data); + mMorphData.insert(cloned_morph_data); } if (!strcmp(morphName, "skirt_belly")) { - LLPolyMorphData* belly_data = new LLPolyMorphData(*morph_data); - belly_data->mName = std::string("skirt_belly_gravity"); - for (U32 v=0; v < belly_data->mNumIndices; v++) + LLPolyMorphData* cloned_morph_data = new LLPolyMorphData(*morph_data); + cloned_morph_data->mName = std::string("skirt_belly_gravity"); + for (U32 v=0; v < cloned_morph_data->mNumIndices; v++) { - belly_data->mCoords[v][0] = 0; - belly_data->mCoords[v][1] = 0; - belly_data->mCoords[v][2] = 0.01F; + 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->mNormals[v] = LLVector3(0,0,0); + cloned_morph_data->mBinormals[v] = LLVector3(0,0,0); } - mMorphData.insert(belly_data); + mMorphData.insert(cloned_morph_data); } if (!strcmp(morphName, "Small_Butt")) { - LLPolyMorphData* butt_data = new LLPolyMorphData(*morph_data); - butt_data->mName = std::string("Butt_Gravity"); - for (U32 v=0; v < butt_data->mNumIndices; v++) + LLPolyMorphData* cloned_morph_data = new LLPolyMorphData(*morph_data); + cloned_morph_data->mName = std::string("Butt_Gravity"); + for (U32 v=0; v < cloned_morph_data->mNumIndices; v++) { - butt_data->mCoords[v][0] = 0; - butt_data->mCoords[v][1] = 0; - butt_data->mCoords[v][2] = 0.01F; + 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->mNormals[v] = LLVector3(0,0,0); + cloned_morph_data->mBinormals[v] = LLVector3(0,0,0); } - mMorphData.insert(butt_data); + mMorphData.insert(cloned_morph_data); } } -- cgit v1.2.3