This commit is contained in:
Paul 2001-08-10 22:32:15 +00:00
parent e9b55a9197
commit d704a0fd92

View file

@ -2823,7 +2823,6 @@ int CPlayer::moveVertical(int _moveDistance)
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
int checkside=+1;
int CPlayer::moveHorizontal(int _moveDistance) int CPlayer::moveHorizontal(int _moveDistance)
{ {
int hitWall; int hitWall;
@ -2890,6 +2889,20 @@ int CPlayer::moveHorizontal(int _moveDistance)
{ {
// SB touching ground on at least one edge // SB touching ground on at least one edge
colHeight=getHeightFromGround(x,pos.vy,16); colHeight=getHeightFromGround(x,pos.vy,16);
// Head collision ( a bit of a hack )
int oktomove=false;
switch ( CGameScene::getCollision()->getCollisionBlock( x, pos.vy-HEIGHT_FOR_HEAD_COLLISION ) & COLLISION_TYPE_MASK )
{
case COLLISION_TYPE_NORMAL:
oktomove=true;
break;
default:
break;
}
if(oktomove)
{
if(colHeight>=-2&&colHeight<=2) if(colHeight>=-2&&colHeight<=2)
{ {
// Move along the ground // Move along the ground
@ -2912,7 +2925,7 @@ int CPlayer::moveHorizontal(int _moveDistance)
{ {
// Moved off edge of ledge // Moved off edge of ledge
pos.vx+=dirToMove; pos.vx+=dirToMove;
}
} }
} }
else else