diff options
Diffstat (limited to 'indra/llprimitive')
-rw-r--r-- | indra/llprimitive/llmaterial.cpp | 14 | ||||
-rw-r--r-- | indra/llprimitive/llmaterial.h | 11 | ||||
-rw-r--r-- | indra/llprimitive/llmodel.cpp | 11 |
3 files changed, 9 insertions, 27 deletions
diff --git a/indra/llprimitive/llmaterial.cpp b/indra/llprimitive/llmaterial.cpp index e6d2790a5f..57ceb3e11b 100644 --- a/indra/llprimitive/llmaterial.cpp +++ b/indra/llprimitive/llmaterial.cpp @@ -106,16 +106,10 @@ LLMaterial::LLMaterial() , mEnvironmentIntensity(LLMaterial::DEFAULT_ENV_INTENSITY) , mDiffuseAlphaMode(LLMaterial::DIFFUSE_ALPHA_MODE_BLEND) , mAlphaMaskCutoff(0) - , mIsDiffuseAlphaInvalid(false) - , mIsNormalInvalid(false) - , mIsSpecularInvalid(false) { } LLMaterial::LLMaterial(const LLSD& material_data) - : mIsDiffuseAlphaInvalid(false) - , mIsNormalInvalid(false) - , mIsSpecularInvalid(false) { fromLLSD(material_data); } @@ -205,17 +199,13 @@ U32 LLMaterial::getShaderMask(U32 alpha_mode) { ret = getDiffuseAlphaMode(); } - if (mIsDiffuseAlphaInvalid && ret != DIFFUSE_ALPHA_MODE_DEFAULT) - { - ret = alpha_mode != DIFFUSE_ALPHA_MODE_NONE; - } llassert(ret < SHADER_COUNT); //next bit is whether or not specular map is present const U32 SPEC_BIT = 0x4; - if (getSpecularID().notNull() && !mIsSpecularInvalid) + if (getSpecularID().notNull()) { ret |= SPEC_BIT; } @@ -224,7 +214,7 @@ U32 LLMaterial::getShaderMask(U32 alpha_mode) //next bit is whether or not normal map is present const U32 NORM_BIT = 0x8; - if (getNormalID().notNull() && !mIsNormalInvalid) + if (getNormalID().notNull()) { ret |= NORM_BIT; } diff --git a/indra/llprimitive/llmaterial.h b/indra/llprimitive/llmaterial.h index 2f23a50973..9f52a3f6c1 100644 --- a/indra/llprimitive/llmaterial.h +++ b/indra/llprimitive/llmaterial.h @@ -120,13 +120,6 @@ public: void setAlphaMaskCutoff(U8 cutoff) { mAlphaMaskCutoff = cutoff; } bool isNull() const; - bool isDiffuseAlphaInvalid() const { return mIsDiffuseAlphaInvalid; } - void setDiffuseAlphaInvalid(bool is_invalid) { mIsDiffuseAlphaInvalid = is_invalid; } - bool isNormalInvalid() const { return mIsNormalInvalid; } - void setNormalInvalid(bool is_invalid) { mIsNormalInvalid = is_invalid; } - bool isSpecularInvalid() const { return mIsSpecularInvalid; } - void setSpecularInvalid(bool is_invalid) { mIsSpecularInvalid = is_invalid; } - static const LLMaterial null; bool operator == (const LLMaterial& rhs) const; @@ -154,10 +147,6 @@ protected: U8 mEnvironmentIntensity; U8 mDiffuseAlphaMode; U8 mAlphaMaskCutoff; - - bool mIsDiffuseAlphaInvalid; - bool mIsNormalInvalid; - bool mIsSpecularInvalid; }; typedef LLPointer<LLMaterial> LLMaterialPtr; diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index db6d00bc2c..8fbb4f6b96 100644 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -1034,8 +1034,11 @@ LLModel::weight_list& LLModel::getJointInfluences(const LLVector3& pos) { //no exact match found, get closest point const F32 epsilon = 1e-5f; weight_map::iterator iter_up = mSkinWeights.lower_bound(pos); - weight_map::iterator iter_down = ++iter_up; - + weight_map::iterator iter_down = iter_up; + if (iter_up != mSkinWeights.end()) + { + iter_down = ++iter_up; + } weight_map::iterator best = iter_up; F32 min_dist = (iter->first - pos).magVec(); @@ -1354,7 +1357,7 @@ bool LLModel::loadSkinInfo(LLSD& header, std::istream &is) LLSD skin_data; - if (unzip_llsd(skin_data, is, size)) + if (LLUZipHelper::unzip_llsd(skin_data, is, size) == LLUZipHelper::ZR_OK) { mSkinInfo.fromLLSD(skin_data); return true; @@ -1375,7 +1378,7 @@ bool LLModel::loadDecomposition(LLSD& header, std::istream& is) LLSD data; - if (unzip_llsd(data, is, size)) + if (LLUZipHelper::unzip_llsd(data, is, size) == LLUZipHelper::ZR_OK) { mPhysics.fromLLSD(data); updateHullCenters(); |