diff --git a/Build/Configurations/Includes/Eternity_common.cfg b/Build/Configurations/Includes/Eternity_common.cfg index 6e6419fccff00f006d3cb367a9b0e483d3525d7b..cc6be86109d4aa811307f92c0394551a4493f57c 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 4b2cc13da7fb16c1edba4132e5ab7398c6c511dd..6bf41480b7d775065211c03eae4c7dc7e0cd5f6b 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