From f0c985385a4bfff2de243e0c945557eb17d3ecc1 Mon Sep 17 00:00:00 2001 From: biwa <6475593+biwa@users.noreply.github.com> Date: Sat, 6 Mar 2021 21:28:00 +0100 Subject: [PATCH] Added portal options to the sector edit form for the Eternity Engine UDMF configuration --- .../Includes/Eternity_common.cfg | 28 +++++++++++++++++++ Source/Core/Windows/SectorEditFormUDMF.cs | 15 ++++++---- 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/Build/Configurations/Includes/Eternity_common.cfg b/Build/Configurations/Includes/Eternity_common.cfg index 6e6419fcc..cc6be8610 100755 --- a/Build/Configurations/Includes/Eternity_common.cfg +++ b/Build/Configurations/Includes/Eternity_common.cfg @@ -278,6 +278,34 @@ mapformat_udmf include("Eternity_misc.cfg", "sectorflags_udmf"); } + // Sector portal flags (ceiling) + ceilingportalflags + { + portal_ceil_disabled = "Disabled"; + portal_ceil_blocksound = "Block sound"; + portal_ceil_nopass = "Impassable"; + portal_ceil_norender = "Not rendered"; + portal_ceil_attached = "Attach to linked portal"; + } + + // Sector portal flags (floor) + floorportalflags + { + portal_floor_disabled = "Disabled"; + portal_floor_blocksound = "Block sound"; + portal_floor_nopass = "Impassable"; + portal_floor_norender = "Not rendered"; + portal_floor_attached = "Attach to linked portal"; + } + + // Sector portal renderstyles + sectorportalrenderstyles + { + none = "None"; + translucent = "Translucent"; + additive = "Additive"; + } + // DEFAULT SECTOR BRIGHTNESS LEVELS sectorbrightness { diff --git a/Source/Core/Windows/SectorEditFormUDMF.cs b/Source/Core/Windows/SectorEditFormUDMF.cs index 4b2cc13da..6bf41480b 100755 --- a/Source/Core/Windows/SectorEditFormUDMF.cs +++ b/Source/Core/Windows/SectorEditFormUDMF.cs @@ -395,8 +395,11 @@ namespace CodeImp.DoomBuilder.Windows floorRenderStyle.SelectedIndex = renderstyles.IndexOf(sc.Fields.GetValue("renderstylefloor", "translucent")); // Portal render style - ceilportalrenderstyle.SelectedIndex = portalrenderstyles.IndexOf(sc.Fields.GetValue("portal_ceil_overlaytype", "translucent")); - floorportalrenderstyle.SelectedIndex = portalrenderstyles.IndexOf(sc.Fields.GetValue("portal_floor_overlaytype", "translucent")); + if (portalrenderstyles.Count > 0) + { + ceilportalrenderstyle.SelectedIndex = portalrenderstyles.IndexOf(sc.Fields.GetValue("portal_ceil_overlaytype", portalrenderstyles[0])); + floorportalrenderstyle.SelectedIndex = portalrenderstyles.IndexOf(sc.Fields.GetValue("portal_floor_overlaytype", portalrenderstyles[0])); + } // Damage damagetype.Text = sc.Fields.GetValue("damagetype", NO_DAMAGETYPE); @@ -530,9 +533,9 @@ namespace CodeImp.DoomBuilder.Windows floorRenderStyle.SelectedIndex = -1; // Portal render style - if(ceilportalrenderstyle.SelectedIndex > -1 && ceilportalrenderstyle.SelectedIndex != portalrenderstyles.IndexOf(s.Fields.GetValue("portal_ceil_overlaytype", "translucent"))) + if(ceilportalrenderstyle.SelectedIndex > -1 && ceilportalrenderstyle.SelectedIndex != portalrenderstyles.IndexOf(s.Fields.GetValue("portal_ceil_overlaytype", portalrenderstyles[0]))) ceilportalrenderstyle.SelectedIndex = -1; - if(floorportalrenderstyle.SelectedIndex > -1 && floorportalrenderstyle.SelectedIndex != portalrenderstyles.IndexOf(s.Fields.GetValue("portal_floor_overlaytype", "translucent"))) + if(floorportalrenderstyle.SelectedIndex > -1 && floorportalrenderstyle.SelectedIndex != portalrenderstyles.IndexOf(s.Fields.GetValue("portal_floor_overlaytype", portalrenderstyles[0]))) floorportalrenderstyle.SelectedIndex = -1; // Damage @@ -873,9 +876,9 @@ namespace CodeImp.DoomBuilder.Windows if(portalrenderstyles.Count > 0) { if(ceilportalrenderstyle.SelectedIndex > -1) - UniFields.SetString(s.Fields, "portal_ceil_overlaytype", portalrenderstyles[ceilportalrenderstyle.SelectedIndex], "translucent"); + UniFields.SetString(s.Fields, "portal_ceil_overlaytype", portalrenderstyles[ceilportalrenderstyle.SelectedIndex], portalrenderstyles[0]); if(floorportalrenderstyle.SelectedIndex > -1) - UniFields.SetString(s.Fields, "portal_floor_overlaytype", portalrenderstyles[floorportalrenderstyle.SelectedIndex], "translucent"); + UniFields.SetString(s.Fields, "portal_floor_overlaytype", portalrenderstyles[floorportalrenderstyle.SelectedIndex], portalrenderstyles[0]); } //Damage -- GitLab