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