Add toggle for linedef action 401 to not change the ceiling texture.

This commit is contained in:
sphere 2021-05-20 21:09:18 +02:00 committed by spherallic
parent b6df79ba52
commit 131316c541
2 changed files with 12 additions and 6 deletions

View file

@ -1992,7 +1992,7 @@ linedeftypes
title = "Set Tagged Sector's Floor Height/Texture"; title = "Set Tagged Sector's Floor Height/Texture";
prefix = "(400)"; prefix = "(400)";
flags8text = "[3] Set delay by backside sector"; flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Keep floor flat"; flags64text = "[6] Don't change floor texture";
} }
401 401
@ -2000,6 +2000,7 @@ linedeftypes
title = "Set Tagged Sector's Ceiling Height/Texture"; title = "Set Tagged Sector's Ceiling Height/Texture";
prefix = "(401)"; prefix = "(401)";
flags8text = "[3] Set delay by backside sector"; flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Don't change ceiling texture";
} }
402 402
@ -2090,7 +2091,7 @@ linedeftypes
prefix = "(403)"; prefix = "(403)";
flags2text = "[1] Trigger linedef executor"; flags2text = "[1] Trigger linedef executor";
flags8text = "[3] Set delay by backside sector"; flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Change floor flat"; flags64text = "[6] Change floor texture";
} }
404 404
@ -2099,7 +2100,7 @@ linedeftypes
prefix = "(404)"; prefix = "(404)";
flags2text = "[1] Trigger linedef executor"; flags2text = "[1] Trigger linedef executor";
flags8text = "[3] Set delay by backside sector"; flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Change ceiling flat"; flags64text = "[6] Change ceiling texture";
} }
405 405

View file

@ -67,6 +67,7 @@ void T_MoveCeiling(ceiling_t *ceiling)
switch (ceiling->type) switch (ceiling->type)
{ {
case instantMoveCeilingByFrontSector: case instantMoveCeilingByFrontSector:
if (ceiling->texture > -1)
ceiling->sector->ceilingpic = ceiling->texture; ceiling->sector->ceilingpic = ceiling->texture;
ceiling->sector->ceilingdata = NULL; ceiling->sector->ceilingdata = NULL;
ceiling->sector->ceilspeed = 0; ceiling->sector->ceilspeed = 0;
@ -186,6 +187,7 @@ void T_MoveCeiling(ceiling_t *ceiling)
break; break;
case instantMoveCeilingByFrontSector: case instantMoveCeilingByFrontSector:
if (ceiling->texture > -1)
ceiling->sector->ceilingpic = ceiling->texture; ceiling->sector->ceilingpic = ceiling->texture;
ceiling->sector->ceilingdata = NULL; ceiling->sector->ceilingdata = NULL;
ceiling->sector->ceilspeed = 0; ceiling->sector->ceilspeed = 0;
@ -512,6 +514,9 @@ INT32 EV_DoCeiling(line_t *line, ceiling_e type)
ceiling->direction = -1; ceiling->direction = -1;
ceiling->bottomheight = line->frontsector->ceilingheight; ceiling->bottomheight = line->frontsector->ceilingheight;
} }
if (line->flags & ML_NOCLIMB)
ceiling->texture = -1;
else
ceiling->texture = line->frontsector->ceilingpic; ceiling->texture = line->frontsector->ceilingpic;
break; break;