1
0

Reworked collision to use g_BlockIsSolid

This commit is contained in:
Samuel Barney 2013-11-04 20:10:29 -07:00
parent 96ef6084ae
commit b23047f47b

View File

@ -225,24 +225,15 @@ int cTracer::Trace( const Vector3f & a_Start, const Vector3f & a_Direction, int
BLOCKTYPE BlockID = m_World->GetBlock(pos.x, pos.y, pos.z);
// No collision with water ;)
switch(BlockID)
if (g_BlockIsSolid[BlockID])
{
case E_BLOCK_AIR:
case E_BLOCK_YELLOW_FLOWER:
case E_BLOCK_RED_ROSE:
case E_BLOCK_RED_MUSHROOM:
case E_BLOCK_BROWN_MUSHROOM:
break;
default:
BlockHitPosition = pos;
int Normal = GetHitNormal(a_Start, End, pos );
if(Normal > 0)
{
BlockHitPosition = pos;
int Normal = GetHitNormal(a_Start, End, pos );
if(Normal > 0)
{
HitNormal = m_NormalTable[Normal-1];
}
return true;
HitNormal = m_NormalTable[Normal-1];
}
return true;
}
}
return 0;