Merge pull request #339 from eevee/strict-switch-range

Don't allow pressing a checkswitchrange switch that's in the floor
This commit is contained in:
coelckers 2015-06-09 22:57:49 +02:00
commit 266af2e872

View file

@ -177,11 +177,11 @@ bool P_CheckSwitchRange(AActor *user, line_t *line, int sideno)
if ((TexMan.FindSwitch(side->GetTexture(side_t::top))) != NULL) if ((TexMan.FindSwitch(side->GetTexture(side_t::top))) != NULL)
{ {
return (user->z + user->height >= open.top); return (user->z + user->height > open.top);
} }
else if ((TexMan.FindSwitch(side->GetTexture(side_t::bottom))) != NULL) else if ((TexMan.FindSwitch(side->GetTexture(side_t::bottom))) != NULL)
{ {
return (user->z <= open.bottom); return (user->z < open.bottom);
} }
else if ((flags & ML_3DMIDTEX) || (TexMan.FindSwitch(side->GetTexture(side_t::mid))) != NULL) else if ((flags & ML_3DMIDTEX) || (TexMan.FindSwitch(side->GetTexture(side_t::mid))) != NULL)
{ {
@ -194,7 +194,7 @@ bool P_CheckSwitchRange(AActor *user, line_t *line, int sideno)
else else
{ {
// no switch found. Check whether the player can touch either top or bottom texture // no switch found. Check whether the player can touch either top or bottom texture
return (user->z + user->height >= open.top) || (user->z <= open.bottom); return (user->z + user->height > open.top) || (user->z < open.bottom);
} }
} }