summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--source/Tracer.cpp21
1 files changed, 6 insertions, 15 deletions
diff --git a/source/Tracer.cpp b/source/Tracer.cpp
index 675905b11..d7a613891 100644
--- a/source/Tracer.cpp
+++ b/source/Tracer.cpp
@@ -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;