- Changed CheckActorFloor/CeilingTexture to only check 3D floors that exist and are solid.

SVN r3459 (trunk)
This commit is contained in:
Randy Heit 2012-03-20 03:00:33 +00:00
parent 7045bfd19f
commit ab60c1afcc
1 changed files with 5 additions and 3 deletions

View File

@ -3199,8 +3199,9 @@ bool DLevelScript::DoCheckActorTexture(int tid, AActor *activator, int string, b
for (i = 0; i < numff; ++i)
{
F3DFloor *ff = sec->e->XFloor.ffloors[i];
if (actor->z >= ff->top.plane->ZatPoint(actor->x, actor->y))
if ((ff->flags & (FF_EXISTS | FF_SOLID)) == (FF_EXISTS | FF_SOLID) &&
actor->z >= ff->top.plane->ZatPoint(actor->x, actor->y))
{ // This floor is beneath our feet.
secpic = *ff->top.texture;
break;
@ -3219,7 +3220,8 @@ bool DLevelScript::DoCheckActorTexture(int tid, AActor *activator, int string, b
{
F3DFloor *ff = sec->e->XFloor.ffloors[i];
if (z <= ff->bottom.plane->ZatPoint(actor->x, actor->y))
if ((ff->flags & (FF_EXISTS | FF_SOLID)) == (FF_EXISTS | FF_SOLID) &&
z <= ff->bottom.plane->ZatPoint(actor->x, actor->y))
{ // This floor is above our eyes.
secpic = *ff->bottom.texture;
break;