mirror of
https://github.com/ZDoom/gzdoom.git
synced 2025-02-17 09:42:04 +00:00
- fixed: CheckForPushSpecial did not check blocking 3D midtextures.
This commit is contained in:
parent
044bf4ada6
commit
934b1923d0
1 changed files with 10 additions and 0 deletions
|
@ -45,6 +45,7 @@
|
||||||
#include "p_checkposition.h"
|
#include "p_checkposition.h"
|
||||||
#include "r_utility.h"
|
#include "r_utility.h"
|
||||||
#include "p_blockmap.h"
|
#include "p_blockmap.h"
|
||||||
|
#include "p_3dmidtex.h"
|
||||||
|
|
||||||
#include "s_sound.h"
|
#include "s_sound.h"
|
||||||
#include "decallib.h"
|
#include "decallib.h"
|
||||||
|
@ -1905,6 +1906,15 @@ static void CheckForPushSpecial(line_t *line, int side, AActor *mobj, DVector2 *
|
||||||
if (fzt >= mobj->Top() && bzt >= mobj->Top() &&
|
if (fzt >= mobj->Top() && bzt >= mobj->Top() &&
|
||||||
fzb <= mobj->Z() && bzb <= mobj->Z())
|
fzb <= mobj->Z() && bzb <= mobj->Z())
|
||||||
{
|
{
|
||||||
|
if (line->flags & ML_3DMIDTEX)
|
||||||
|
{
|
||||||
|
double top, bot;
|
||||||
|
P_GetMidTexturePosition(line, side, &top, &bot);
|
||||||
|
if (bot < mobj->Top() && top > mobj->Z())
|
||||||
|
{
|
||||||
|
goto isblocking;
|
||||||
|
}
|
||||||
|
}
|
||||||
// we must also check if some 3D floor in the backsector may be blocking
|
// we must also check if some 3D floor in the backsector may be blocking
|
||||||
for (auto rover : line->backsector->e->XFloor.ffloors)
|
for (auto rover : line->backsector->e->XFloor.ffloors)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue