From 080c5fe08382cf70042350e2812cab1513fb8a16 Mon Sep 17 00:00:00 2001
From: prep <prep@lindenlab.com>
Date: Wed, 30 Mar 2011 15:03:05 -0400
Subject: Update skin instances pelvisoffset for each lod

---
 indra/newview/llfloatermodelpreview.cpp | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp
index 3cb756a006..73405c294c 100755
--- a/indra/newview/llfloatermodelpreview.cpp
+++ b/indra/newview/llfloatermodelpreview.cpp
@@ -2535,6 +2535,15 @@ U32 LLModelPreview::calcResourceCost()
 			instance.mLOD[LLModel::LOD_PHYSICS] ?
 			instance.mLOD[LLModel::LOD_PHYSICS]->mPhysics.mHull :
 			instance.mModel->mPhysics.mHull;
+			
+			//update instance skin info for each lod 
+			for ( int j=0; j<LLModel::NUM_LODS; ++j )
+			{	
+				if ( instance.mLOD[j] )
+				{
+					instance.mLOD[j]->mSkinInfo.mPelvisOffset = mPelvisZOffset;
+				}
+			}
 
 			LLSD ret = LLModel::writeModel(
 										   "",
-- 
cgit v1.2.3


From 5aeac734bcfe92364a982dc31dcd6d483df25eac Mon Sep 17 00:00:00 2001
From: prep <prep@lindenlab.com>
Date: Wed, 30 Mar 2011 15:04:51 -0400
Subject: Comment update

---
 indra/newview/llfloatermodelpreview.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp
index 73405c294c..99256e1dc1 100755
--- a/indra/newview/llfloatermodelpreview.cpp
+++ b/indra/newview/llfloatermodelpreview.cpp
@@ -2536,7 +2536,7 @@ U32 LLModelPreview::calcResourceCost()
 			instance.mLOD[LLModel::LOD_PHYSICS]->mPhysics.mHull :
 			instance.mModel->mPhysics.mHull;
 			
-			//update instance skin info for each lod 
+			//update instance skin info for each lods pelvisZoffset 
 			for ( int j=0; j<LLModel::NUM_LODS; ++j )
 			{	
 				if ( instance.mLOD[j] )
-- 
cgit v1.2.3


From 680d952c4635936c4bb6d9bb8783bc6c2d781a9b Mon Sep 17 00:00:00 2001
From: Xiaohong Bao <bao@lindenlab.com>
Date: Wed, 30 Mar 2011 13:54:16 -0600
Subject: to install new glod lib for windows.

---
 install.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/install.xml b/install.xml
index 1bc6746223..67de9c9cbc 100755
--- a/install.xml
+++ b/install.xml
@@ -70,9 +70,9 @@
           <key>windows</key>
           <map>
             <key>md5sum</key>
-            <string>5f993f8092ddf4424ec3133dae9424dd</string>
+            <string>e40e1eac81dc57d8724f96fd977a3d58</string>
             <key>url</key>
-            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glod-1.0pre4-windows-20100908a.tar.bz2</uri>
+            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glod-1.0pre4-windows-20110330.tar.bz2</uri>
           </map>
         </map>
       </map>
-- 
cgit v1.2.3


From 69789e40d9df7a13913a88bc02316e8bbc4a4dac Mon Sep 17 00:00:00 2001
From: prep <prep@lindenlab.com>
Date: Wed, 30 Mar 2011 16:04:36 -0400
Subject: Moved joint reset flag into model preview

---
 indra/newview/llfloatermodelpreview.cpp | 12 +++++++-----
 indra/newview/llfloatermodelpreview.h   |  6 ++++--
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp
index 99256e1dc1..3da0c795d5 100755
--- a/indra/newview/llfloatermodelpreview.cpp
+++ b/indra/newview/llfloatermodelpreview.cpp
@@ -386,7 +386,8 @@ LLFloaterModelPreview::~LLFloaterModelPreview()
 	sInstance = NULL;
 
 	const LLModelLoader *model_loader = mModelPreview->mModelLoader;
-	if (model_loader && model_loader->mResetJoints)
+	
+	if ( mModelPreview && mModelPreview->getResetJointFlag() )
 	{
 		gAgentAvatarp->resetJointPositions();
 	}
@@ -394,7 +395,7 @@ LLFloaterModelPreview::~LLFloaterModelPreview()
 	
 	if ( mModelPreview )
 	{
-	delete mModelPreview;
+		delete mModelPreview;
 	}
 
 	if (mGLName)
@@ -992,7 +993,7 @@ void LLFloaterModelPreview::onMouseCaptureLostModelPreview(LLMouseHandler* handl
 // LLModelLoader
 //-----------------------------------------------------------------------------
 LLModelLoader::LLModelLoader(std::string filename, S32 lod, LLModelPreview* preview)
-: LLThread("Model Loader"), mFilename(filename), mLod(lod), mPreview(preview), mFirstTransform(TRUE), mResetJoints( FALSE )
+: LLThread("Model Loader"), mFilename(filename), mLod(lod), mPreview(preview), mFirstTransform(TRUE)
 {
 	mJointMap["mPelvis"] = "mPelvis";
 	mJointMap["mTorso"] = "mTorso";
@@ -1566,14 +1567,14 @@ bool LLModelLoader::doLoadModel()
 						mPreview->setRigValid( doesJointArrayContainACompleteRig( model->mSkinInfo.mJointNames ) );
 						if ( !skeletonWithNoRootNode && !model->mSkinInfo.mJointNames.empty() && mPreview->isRigValid() ) 
 						{
-							mResetJoints = true;
+							mPreview->setResetJointFlag( true );
 						}
 						
 						if ( !missingSkeletonOrScene )
 						{
 							//Set the joint translations on the avatar - if it's a full mapping
 							//The joints are reset in the dtor
-							if ( mResetJoints )
+							if ( mPreview->getResetJointFlag() )
 							{	
 								std::map<std::string, std::string> :: const_iterator masterJointIt = mJointMap.begin();
 								std::map<std::string, std::string> :: const_iterator masterJointItEnd = mJointMap.end();
@@ -2438,6 +2439,7 @@ LLModelPreview::LLModelPreview(S32 width, S32 height, LLFloater* fmp)
 : LLViewerDynamicTexture(width, height, 3, ORDER_MIDDLE, FALSE), LLMutex(NULL)
 , mPelvisZOffset( 0.0f )
 , mRigValid( false )
+, mResetJoints( false )
 {
 	mNeedsUpdate = TRUE;
 	mCameraDistance = 0.f;
diff --git a/indra/newview/llfloatermodelpreview.h b/indra/newview/llfloatermodelpreview.h
index 6542ed4fbe..3fcc1b3e57 100644
--- a/indra/newview/llfloatermodelpreview.h
+++ b/indra/newview/llfloatermodelpreview.h
@@ -126,7 +126,6 @@ public:
 	//map of avatar joints as named in COLLADA assets to internal joint names
 	std::map<std::string, std::string> mJointMap;
 	std::deque<std::string> mMasterJointList;
-	bool mResetJoints;
 };
 
 class LLFloaterModelPreview : public LLFloater
@@ -310,6 +309,9 @@ public:
 	void setLoadState( U32 state ) { mLoadState = state; }
 	U32 getLoadState() { return mLoadState; }
 		
+	void setResetJointFlag( bool state ) { mResetJoints = state; }
+	bool getResetJointFlag( void ) { return mResetJoints; }
+
  protected:
 	friend class LLModelLoader;
 	friend class LLFloaterModelPreview;
@@ -336,7 +338,7 @@ public:
 	std::string mLODFile[LLModel::NUM_LODS];
 	bool		mLoading;
 	U32			mLoadState;
-	
+	bool		mResetJoints;
 	std::map<std::string, bool> mViewOption;
 
 	//GLOD object parameters (must rebuild object if these change)
-- 
cgit v1.2.3