Visual Mode: changes to Eternity Engine's upper/lower texture skewing definitions are now shown in Visual Mode

This commit is contained in:
biwa 2023-07-15 18:45:58 +02:00
parent b15e1055bf
commit f34ab6a606
2 changed files with 66 additions and 8 deletions

View file

@ -337,11 +337,11 @@ namespace CodeImp.DoomBuilder.BuilderModes
string skewtype = Sidedef.Fields.GetValue("skew_bottom_type", "none"); string skewtype = Sidedef.Fields.GetValue("skew_bottom_type", "none");
if ((skewtype == "front" || skewtype == "back") && Texture != null) if ((skewtype == "front_floor" || skewtype == "front_ceiling" || skewtype == "back_floor" || skewtype == "back_ceiling") && Texture != null)
{ {
double leftz, rightz; double leftz, rightz;
if (skewtype == "front") if (skewtype == "front_floor")
{ {
if (Sidedef.IsFront) if (Sidedef.IsFront)
{ {
@ -356,7 +356,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
rightz = plane.GetZ(Sidedef.Line.Start.Position); rightz = plane.GetZ(Sidedef.Line.Start.Position);
} }
} }
else // "back" else if(skewtype == "back_floor")
{ {
if (Sidedef.IsFront) if (Sidedef.IsFront)
{ {
@ -370,7 +370,36 @@ namespace CodeImp.DoomBuilder.BuilderModes
leftz = plane.GetZ(Sidedef.Line.End.Position); leftz = plane.GetZ(Sidedef.Line.End.Position);
rightz = plane.GetZ(Sidedef.Line.Start.Position); rightz = plane.GetZ(Sidedef.Line.Start.Position);
} }
}
else if(skewtype == "front_ceiling")
{
if (Sidedef.IsFront)
{
Plane plane = Sector.GetSectorData().Ceiling.plane;
leftz = plane.GetZ(Sidedef.Line.Start.Position);
rightz = plane.GetZ(Sidedef.Line.End.Position);
}
else
{
Plane plane = mode.GetSectorData(Sidedef.Other.Sector).Ceiling.plane;
leftz = plane.GetZ(Sidedef.Line.End.Position);
rightz = plane.GetZ(Sidedef.Line.Start.Position);
}
}
else // Back ceiling
{
if (Sidedef.IsFront)
{
Plane plane = mode.GetSectorData(Sidedef.Other.Sector).Ceiling.plane;
leftz = plane.GetZ(Sidedef.Line.Start.Position);
rightz = plane.GetZ(Sidedef.Line.End.Position);
}
else
{
Plane plane = Sector.GetSectorData().Ceiling.plane;
leftz = plane.GetZ(Sidedef.Line.End.Position);
rightz = plane.GetZ(Sidedef.Line.Start.Position);
}
} }
skew = new Vector2f( skew = new Vector2f(

View file

@ -325,11 +325,11 @@ namespace CodeImp.DoomBuilder.BuilderModes
string skewtype = Sidedef.Fields.GetValue("skew_top_type", "none"); string skewtype = Sidedef.Fields.GetValue("skew_top_type", "none");
if ((skewtype == "front" || skewtype == "back") && Texture != null) if ((skewtype == "front_floor" || skewtype == "front_ceiling" || skewtype == "back_floor" || skewtype == "back_ceiling") && Texture != null)
{ {
double leftz, rightz; double leftz, rightz;
if (skewtype == "front") if (skewtype == "front_ceiling")
{ {
if (Sidedef.IsFront) if (Sidedef.IsFront)
{ {
@ -344,7 +344,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
rightz = plane.GetZ(Sidedef.Line.Start.Position); rightz = plane.GetZ(Sidedef.Line.Start.Position);
} }
} }
else // "back" else if (skewtype == "back_ceiling")
{ {
if (Sidedef.IsFront) if (Sidedef.IsFront)
{ {
@ -358,7 +358,36 @@ namespace CodeImp.DoomBuilder.BuilderModes
leftz = plane.GetZ(Sidedef.Line.End.Position); leftz = plane.GetZ(Sidedef.Line.End.Position);
rightz = plane.GetZ(Sidedef.Line.Start.Position); rightz = plane.GetZ(Sidedef.Line.Start.Position);
} }
}
else if(skewtype == "front_floor")
{
if(Sidedef.IsFront)
{
Plane plane = Sector.GetSectorData().Floor.plane;
leftz = plane.GetZ(Sidedef.Line.Start.Position);
rightz = plane.GetZ(Sidedef.Line.End.Position);
}
else
{
Plane plane = mode.GetSectorData(Sidedef.Other.Sector).Floor.plane;
leftz = plane.GetZ(Sidedef.Line.End.Position);
rightz = plane.GetZ(Sidedef.Line.Start.Position);
}
}
else // Back floor
{
if (Sidedef.IsFront)
{
Plane plane = mode.GetSectorData(Sidedef.Other.Sector).Floor.plane;
leftz = plane.GetZ(Sidedef.Line.Start.Position);
rightz = plane.GetZ(Sidedef.Line.End.Position);
}
else
{
Plane plane = Sector.GetSectorData().Floor.plane;
leftz = plane.GetZ(Sidedef.Line.End.Position);
rightz = plane.GetZ(Sidedef.Line.Start.Position);
}
} }
skew = new Vector2f( skew = new Vector2f(