Skip lines with certain actions and tags when checking unknown textures

This commit is contained in:
spherallic 2023-05-03 00:06:27 +02:00
parent 8747bb5be9
commit e44debce82
2 changed files with 15 additions and 4 deletions

View file

@ -440,7 +440,10 @@ namespace CodeImp.DoomBuilder.Map
if (General.Map.SRB2) if (General.Map.SRB2)
{ {
if (Other.sector.CeilTexture == General.Map.Config.SkyFlatName) return false; if (this.Line.Tag > 0 && ((this.Line.Action >= 100 && this.Line.Action < 700) || (this.Line.Action >= 1 && this.Line.Action <= 96)))
return false;
if (Other.sector.CeilTexture == General.Map.Config.SkyFlatName)
return false;
} }
// Texture is required when ceiling of other side is lower // Texture is required when ceiling of other side is lower
@ -457,7 +460,12 @@ namespace CodeImp.DoomBuilder.Map
{ {
// Texture is required when the line is singlesided and not a horizon line // Texture is required when the line is singlesided and not a horizon line
if (General.Map.SRB2) if (General.Map.SRB2)
{
if (this.Line.Tag > 0 && ((this.Line.Action >= 100 && this.Line.Action < 700) || (this.Line.Action >= 1 && this.Line.Action <= 96)))
return false;
return (Other == null && !(this.Line.IsHorizonLine)); return (Other == null && !(this.Line.IsHorizonLine));
}
else else
return (Other == null); return (Other == null);
} }
@ -510,7 +518,10 @@ namespace CodeImp.DoomBuilder.Map
if (General.Map.SRB2) if (General.Map.SRB2)
{ {
if (Other.sector.FloorTexture == General.Map.Config.SkyFlatName) return false; if (this.Line.Tag > 0 && ((this.Line.Action >= 100 && this.Line.Action < 700) || (this.Line.Action >= 1 && this.Line.Action <= 96)))
return false;
if (Other.sector.FloorTexture == General.Map.Config.SkyFlatName)
return false;
} }
// Texture is required when floor of other side is higher // Texture is required when floor of other side is higher

View file

@ -23,7 +23,7 @@ using System.Threading;
namespace CodeImp.DoomBuilder.BuilderModes namespace CodeImp.DoomBuilder.BuilderModes
{ {
[ErrorChecker("Check unknown textures", false, 60)] [ErrorChecker("Check unknown textures", true, 60)]
public class CheckUnknownTextures : ErrorChecker public class CheckUnknownTextures : ErrorChecker
{ {
#region ================== Constants #region ================== Constants
@ -61,7 +61,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
} }
// Check middle texture // Check middle texture
if(sd.LongMiddleTexture != MapSet.EmptyLongName && !General.Map.Data.GetTextureExists(sd.LongMiddleTexture)) if(sd.MiddleRequired() && sd.LongMiddleTexture != MapSet.EmptyLongName && !General.Map.Data.GetTextureExists(sd.LongMiddleTexture))
{ {
SubmitResult(new ResultUnknownTexture(sd, SidedefPart.Middle)); SubmitResult(new ResultUnknownTexture(sd, SidedefPart.Middle));
} }