Merge pull request #1078 from Azaezel/Jeff_Faust_Fixes

AFX fixes
This commit is contained in:
Daniel Buckmaster 2014-12-29 11:40:01 +11:00
commit d7042fb6c3
6 changed files with 26 additions and 9 deletions

View file

@ -355,7 +355,7 @@ bool ParticleData::protectedSetSizes( void *object, const char *index, const cha
U32 i;
if (!index)
i = 0;
return (val >= 0.f && val <= MaxParticleSize);
else
i = dAtoui(index);
@ -371,7 +371,7 @@ bool ParticleData::protectedSetTimes( void *object, const char *index, const cha
U32 i;
if (!index)
i = 0;
return (val >= 0.f && val <= 1.f);
else
i = dAtoui(index);

View file

@ -1825,22 +1825,22 @@ void ParticleEmitter::setupOriented( Particle *part,
lVerts->point = start + crossDir;
lVerts->color = partCol;
// Here and below, we copy UVs from particle datablock's texCoords (oriented)
lVerts->texCoord = part->dataBlock->texCoords[0];
lVerts->texCoord = part->dataBlock->texCoords[1];
++lVerts;
lVerts->point = start - crossDir;
lVerts->color = partCol;
lVerts->texCoord = part->dataBlock->texCoords[1];
lVerts->texCoord = part->dataBlock->texCoords[2];
++lVerts;
lVerts->point = end - crossDir;
lVerts->color = partCol;
lVerts->texCoord = part->dataBlock->texCoords[2];
lVerts->texCoord = part->dataBlock->texCoords[3];
++lVerts;
lVerts->point = end + crossDir;
lVerts->color = partCol;
lVerts->texCoord = part->dataBlock->texCoords[3];
lVerts->texCoord = part->dataBlock->texCoords[0];
++lVerts;
}

View file

@ -6158,7 +6158,10 @@ U32 Player::packUpdate(NetConnection *con, U32 mask, BitStream *stream)
stream->writeFlag(!(mask & NoWarpMask));
}
// Ghost need energy to predict reliably
stream->writeFloat(getEnergyLevel() / mDataBlock->maxEnergy,EnergyLevelBits);
if (mDataBlock->maxEnergy > 0.f)
stream->writeFloat(getEnergyLevel() / mDataBlock->maxEnergy, EnergyLevelBits);
else
stream->writeFloat(0.f, EnergyLevelBits);
return retMask;
}

View file

@ -230,6 +230,9 @@ bool ProjectedShadow::_updateDecal( const SceneRenderState *state )
lightCount++;
}
if (mShapeBase)
fade *= mShapeBase->getFadeVal();
lightDir.normalize();
// No light... no shadow.

View file

@ -290,6 +290,12 @@ bool MatInstance::init( const FeatureSet &features,
//----------------------------------------------------------------------------
bool MatInstance::reInit()
{
if (!mVertexFormat)
{
mIsValid = false;
return mIsValid;
}
SAFE_DELETE(mProcessedMaterial);
deleteAllHooks();
mIsValid = processMaterial();

View file

@ -25,7 +25,7 @@
#include "materials/materialFeatureTypes.h"
#include "materials/materialFeatureData.h"
#include "terrain/terrFeatureTypes.h"
void EyeSpaceDepthOutHLSL::processVert( Vector<ShaderComponent*> &componentList,
const MaterialFeatureData &fd )
@ -85,7 +85,12 @@ void EyeSpaceDepthOutHLSL::processPix( Vector<ShaderComponent*> &componentList,
LangElement *depthOutDecl = new DecOp( depthOut );
meta->addStatement( new GenOp( "#ifndef CUBE_SHADOW_MAP\r\n" ) );
meta->addStatement( new GenOp( " @ = dot(@, (@.xyz / @.w));\r\n", depthOutDecl, vEye, wsEyeVec, wsEyeVec ) );
if (fd.features.hasFeature(MFT_TerrainBaseMap))
meta->addStatement(new GenOp(" @ =min(0.9999, dot(@, (@.xyz / @.w)));\r\n", depthOutDecl, vEye, wsEyeVec, wsEyeVec));
else
meta->addStatement(new GenOp(" @ = dot(@, (@.xyz / @.w));\r\n", depthOutDecl, vEye, wsEyeVec, wsEyeVec));
meta->addStatement( new GenOp( "#else\r\n" ) );
Var *farDist = (Var*)Var::find( "oneOverFarplane" );