Enable rudimentary 3D floor mode support

This commit is contained in:
spherallic 2024-04-05 15:10:51 +02:00
parent 1afa0b9e7b
commit 787afd0553
5 changed files with 19 additions and 14 deletions

View file

@ -100,6 +100,10 @@ mapformat_udmf
// Disable Doom-related modes that don't make sense for SRB2
soundsupport = false;
automapsupport = false;
// Enables support for 3D floors (not really, since support for 3D floors is pretty much hard-coded, but
// this tells plugins that the game supports 3D floors)
effect3dfloorsupport = true;
// When this is set to true, sectors with the same tag will light up when a line is highlighted
linetagindicatesectors = false;

View file

@ -197,7 +197,7 @@ namespace CodeImp.DoomBuilder.ThreeDFloorMode
{
base.OnMapNewEnd();
controlsectorarea = new ControlSectorArea(-512, 0, 512, 0, 64, 56);
controlsectorarea = new ControlSectorArea(-512, 0, 512, 0, 32, 28);
BuilderPlug.Me.ControlSectorArea.LoadConfig();
slopevertexgroups.Clear();
@ -209,7 +209,7 @@ namespace CodeImp.DoomBuilder.ThreeDFloorMode
{
base.OnMapOpenEnd();
controlsectorarea = new ControlSectorArea(-512, 0, 512, 0, 64, 56);
controlsectorarea = new ControlSectorArea(-512, 0, 512, 0, 32, 28);
BuilderPlug.Me.ControlSectorArea.LoadConfig();
// Try to find the slope data sector and store slope information in it

View file

@ -78,9 +78,9 @@ namespace CodeImp.DoomBuilder.ThreeDFloorMode
sectorCeilingHeight.Text = General.Settings.DefaultCeilingHeight.ToString();
sectorFloorHeight.Text = General.Settings.DefaultFloorHeight.ToString();
typeArgument.Setup(General.Map.Config.LinedefActions[160].Args[1]);
flagsArgument.Setup(General.Map.Config.LinedefActions[160].Args[2]);
alphaArgument.Setup(General.Map.Config.LinedefActions[160].Args[3]);
typeArgument.Setup(General.Map.Config.LinedefActions[100].Args[4]);
flagsArgument.Setup(General.Map.Config.LinedefActions[100].Args[3]);
alphaArgument.Setup(General.Map.Config.LinedefActions[100].Args[1]);
typeArgument.SetDefaultValue();
flagsArgument.SetDefaultValue();
@ -161,9 +161,9 @@ namespace CodeImp.DoomBuilder.ThreeDFloorMode
sectorFloorHeight.Text = threeDFloor.BottomHeight.ToString();
borderHeightLabel.Text = (threeDFloor.TopHeight - threeDFloor.BottomHeight).ToString();
typeArgument.Setup(General.Map.Config.LinedefActions[160].Args[1]);
flagsArgument.Setup(General.Map.Config.LinedefActions[160].Args[2]);
alphaArgument.Setup(General.Map.Config.LinedefActions[160].Args[3]);
typeArgument.Setup(General.Map.Config.LinedefActions[100].Args[4]);
flagsArgument.Setup(General.Map.Config.LinedefActions[100].Args[3]);
alphaArgument.Setup(General.Map.Config.LinedefActions[100].Args[1]);
typeArgument.SetValue(threeDFloor.Type);
flagsArgument.SetValue(threeDFloor.Flags);

View file

@ -136,9 +136,9 @@ namespace CodeImp.DoomBuilder.ThreeDFloorMode
{
bordertexture = sd.MiddleTexture;
udmftag = sd.Line.Args[0];
type = sd.Line.Args[1];
flags = sd.Line.Args[2];
alpha = sd.Line.Args[3];
type = sd.Line.Args[4];
flags = sd.Line.Args[3];
alpha = sd.Line.Args[1];
linedefproperties = new LinedefProperties(sd.Line);
sectorproperties = new SectorProperties(sector);
@ -199,9 +199,9 @@ namespace CodeImp.DoomBuilder.ThreeDFloorMode
line.Action = 100;
line.Args[0] = tag;
line.Args[1] = type;
line.Args[2] = flags;
line.Args[3] = alpha;
line.Args[4] = type;
line.Args[3] = flags;
line.Args[1] = alpha;
}
public void UpdateGeometry()

View file

@ -46,6 +46,7 @@ namespace CodeImp.DoomBuilder.ThreeDFloorMode
RequiredMapFeatures = new[] { "Effect3DFloorSupport" },
UseByDefault = true,
SafeStartMode = false,
Optional = false,
Volatile = false)]
public class ThreeDFloorHelperMode : ClassicMode