From 6220f2fc8597e539a06baca51c2b0ff91578aeda Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 3 Jul 2001 16:12:55 +0000 Subject: [PATCH] --- source/projectl/projectl.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/source/projectl/projectl.cpp b/source/projectl/projectl.cpp index 85f4400c0..f158a6c15 100644 --- a/source/projectl/projectl.cpp +++ b/source/projectl/projectl.cpp @@ -357,7 +357,22 @@ void CProjectile::think(int _frames) if ( groundHeight < 0 ) { - moveY = groundHeight; + int blockType; + + blockType = CGameScene::getCollision()->getCollisionBlock( Pos.vx, Pos.vy + moveY ) & COLLISION_TYPE_MASK; + + if ( blockType == COLLISION_TYPE_FLAG_DESTRUCTABLE_FLOOR ) + { + DVECTOR newPos; + newPos.vx = Pos.vx; + newPos.vy = ( ( ( Pos.vy + moveY ) >> 4 ) + 1 ) << 4; + + GameScene.GetLevel().destroyMapTile( newPos ); + } + else + { + moveY = groundHeight; + } } Pos.vy += moveY;