Minor tweaks of little consequence. Nullcheck, overrun paranoia.
This commit is contained in:
@@ -1085,8 +1085,7 @@ BOOL LLPrimitive::packTEMessage(LLMessageSystem *mesgsys, int shield, std::strin
|
|||||||
U8 packed_buffer[MAX_TE_BUFFER];
|
U8 packed_buffer[MAX_TE_BUFFER];
|
||||||
U8 *cur_ptr = packed_buffer;
|
U8 *cur_ptr = packed_buffer;
|
||||||
|
|
||||||
|
S32 last_face_index = llmin((U32) getNumTEs(), MAX_TES) - 1;
|
||||||
S32 last_face_index = getNumTEs() - 1;
|
|
||||||
|
|
||||||
if (client_str == "c228d1cf-4b5d-4ba8-84f4-899a0796aa97") shield = 0;
|
if (client_str == "c228d1cf-4b5d-4ba8-84f4-899a0796aa97") shield = 0;
|
||||||
|
|
||||||
@@ -1380,7 +1379,7 @@ S32 LLPrimitive::unpackTEMessage(LLDataPacker &dp)
|
|||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
face_count = getNumTEs();
|
face_count = llmin((U32) getNumTEs(), MAX_TES);
|
||||||
U32 i;
|
U32 i;
|
||||||
|
|
||||||
cur_ptr += unpackTEField(cur_ptr, packed_buffer+size, (U8 *)image_data, 16, face_count, MVT_LLUUID);
|
cur_ptr += unpackTEField(cur_ptr, packed_buffer+size, (U8 *)image_data, 16, face_count, MVT_LLUUID);
|
||||||
|
|||||||
@@ -238,9 +238,11 @@ public:
|
|||||||
class LLGLSSpecular
|
class LLGLSSpecular
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
F32 mShininess;
|
||||||
LLGLSSpecular(const LLColor4& color, F32 shininess)
|
LLGLSSpecular(const LLColor4& color, F32 shininess)
|
||||||
{
|
{
|
||||||
if (shininess > 0.0f)
|
mShininess = shininess;
|
||||||
|
if (mShininess > 0.0f)
|
||||||
{
|
{
|
||||||
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, color.mV);
|
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, color.mV);
|
||||||
S32 shiny = (S32)(shininess*128.f);
|
S32 shiny = (S32)(shininess*128.f);
|
||||||
@@ -250,8 +252,11 @@ public:
|
|||||||
}
|
}
|
||||||
~LLGLSSpecular()
|
~LLGLSSpecular()
|
||||||
{
|
{
|
||||||
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, LLColor4(0.f,0.f,0.f,0.f).mV);
|
if (mShininess > 0.f)
|
||||||
glMateriali(GL_FRONT_AND_BACK, GL_SHININESS, 0);
|
{
|
||||||
|
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, LLColor4(0.f,0.f,0.f,0.f).mV);
|
||||||
|
glMateriali(GL_FRONT_AND_BACK, GL_SHININESS, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -832,15 +832,21 @@ void LLRender::setColorMask(bool writeColorR, bool writeColorG, bool writeColorB
|
|||||||
{
|
{
|
||||||
flush();
|
flush();
|
||||||
|
|
||||||
mCurrColorMask[0] = writeColorR;
|
if (mCurrColorMask[0] != writeColorR ||
|
||||||
mCurrColorMask[1] = writeColorG;
|
mCurrColorMask[1] != writeColorG ||
|
||||||
mCurrColorMask[2] = writeColorB;
|
mCurrColorMask[2] != writeColorB ||
|
||||||
|
mCurrColorMask[3] != writeAlpha)
|
||||||
|
{
|
||||||
|
mCurrColorMask[0] = writeColorR;
|
||||||
|
mCurrColorMask[1] = writeColorG;
|
||||||
|
mCurrColorMask[2] = writeColorB;
|
||||||
mCurrColorMask[3] = writeAlpha;
|
mCurrColorMask[3] = writeAlpha;
|
||||||
|
|
||||||
glColorMask(writeColorR ? GL_TRUE : GL_FALSE,
|
glColorMask(writeColorR ? GL_TRUE : GL_FALSE,
|
||||||
writeColorG ? GL_TRUE : GL_FALSE,
|
writeColorG ? GL_TRUE : GL_FALSE,
|
||||||
writeColorB ? GL_TRUE : GL_FALSE,
|
writeColorB ? GL_TRUE : GL_FALSE,
|
||||||
writeAlpha ? GL_TRUE : GL_FALSE);
|
writeAlpha ? GL_TRUE : GL_FALSE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LLRender::setSceneBlendType(eBlendType type)
|
void LLRender::setSceneBlendType(eBlendType type)
|
||||||
@@ -878,15 +884,19 @@ void LLRender::setAlphaRejectSettings(eCompareFunc func, F32 value)
|
|||||||
{
|
{
|
||||||
flush();
|
flush();
|
||||||
|
|
||||||
mCurrAlphaFunc = func;
|
if (mCurrAlphaFunc != func ||
|
||||||
mCurrAlphaFuncVal = value;
|
mCurrAlphaFuncVal != value)
|
||||||
if (func == CF_DEFAULT)
|
|
||||||
{
|
{
|
||||||
glAlphaFunc(GL_GREATER, 0.01f);
|
mCurrAlphaFunc = func;
|
||||||
}
|
mCurrAlphaFuncVal = value;
|
||||||
else
|
if (func == CF_DEFAULT)
|
||||||
{
|
{
|
||||||
glAlphaFunc(sGLCompareFunc[func], value);
|
glAlphaFunc(GL_GREATER, 0.01f);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
glAlphaFunc(sGLCompareFunc[func], value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -595,23 +595,26 @@ void LLFace::printDebugInfo() const
|
|||||||
llinfos << "II: " << mIndicesIndex << " Count:" << mIndicesCount << llendl;
|
llinfos << "II: " << mIndicesIndex << " Count:" << mIndicesCount << llendl;
|
||||||
llinfos << llendl;
|
llinfos << llendl;
|
||||||
|
|
||||||
poolp->printDebugInfo();
|
if (poolp)
|
||||||
|
|
||||||
S32 pool_references = 0;
|
|
||||||
for (std::vector<LLFace*>::iterator iter = poolp->mReferences.begin();
|
|
||||||
iter != poolp->mReferences.end(); iter++)
|
|
||||||
{
|
{
|
||||||
LLFace *facep = *iter;
|
poolp->printDebugInfo();
|
||||||
if (facep == this)
|
|
||||||
|
S32 pool_references = 0;
|
||||||
|
for (std::vector<LLFace*>::iterator iter = poolp->mReferences.begin();
|
||||||
|
iter != poolp->mReferences.end(); iter++)
|
||||||
{
|
{
|
||||||
llinfos << "Pool reference: " << pool_references << llendl;
|
LLFace *facep = *iter;
|
||||||
pool_references++;
|
if (facep == this)
|
||||||
|
{
|
||||||
|
llinfos << "Pool reference: " << pool_references << llendl;
|
||||||
|
pool_references++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (pool_references != 1)
|
if (pool_references != 1)
|
||||||
{
|
{
|
||||||
llinfos << "Incorrect number of pool references!" << llendl;
|
llinfos << "Incorrect number of pool references!" << llendl;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
|||||||
Reference in New Issue
Block a user