From 89f781bdc4c1ddf3e7d9dc2f0b06eb653705a7df Mon Sep 17 00:00:00 2001 From: spherallic Date: Fri, 15 Sep 2023 16:55:51 +0200 Subject: [PATCH] Make $(Not)Angled property set fixedrotation --- Source/Core/Config/ThingTypeInfo.cs | 14 +++++++++++--- .../BuilderModes/ClassicModes/ThingsMode.cs | 4 ++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Source/Core/Config/ThingTypeInfo.cs b/Source/Core/Config/ThingTypeInfo.cs index c9d0e290..06f2f2ca 100755 --- a/Source/Core/Config/ThingTypeInfo.cs +++ b/Source/Core/Config/ThingTypeInfo.cs @@ -78,7 +78,7 @@ namespace CodeImp.DoomBuilder.Config private int blocking; private int errorcheck; private readonly bool fixedsize; - private readonly bool fixedrotation; //mxd + private bool fixedrotation; //mxd private readonly ThingCategory category; private readonly ArgumentInfo[] args; private readonly ArgumentInfo[] stringargs; @@ -583,8 +583,16 @@ namespace CodeImp.DoomBuilder.Config } //mxd. Some SLADE compatibility - if(actor.HasProperty("$angled")) this.arrow = true; - else if(actor.HasProperty("$notangled")) this.arrow = false; + if (actor.HasProperty("$angled")) + { + this.arrow = true; + this.fixedrotation = false; + } + else if (actor.HasProperty("$notangled")) + { + this.arrow = false; + this.fixedrotation = true; + } //mxd. Marked as obsolete? if(actor.HasPropertyWithValue("$obsolete")) diff --git a/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs b/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs index e160b8a4..703b2f33 100755 --- a/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/ThingsMode.cs @@ -1475,7 +1475,7 @@ namespace CodeImp.DoomBuilder.BuilderModes foreach(Thing t in selected) { ThingTypeInfo info = General.Map.Data.GetThingInfo(t.Type); - if(info == null || info.Category == null || info.Category.Arrow == 0) + if (info == null || info.FixedRotation == true) continue; int newangle = Angle2D.RealToDoom(Vector2D.GetAngle(mousemappos, t.Position) + Angle2D.PI); @@ -1489,7 +1489,7 @@ namespace CodeImp.DoomBuilder.BuilderModes foreach(Thing t in selected) { ThingTypeInfo info = General.Map.Data.GetThingInfo(t.Type); - if(info == null || info.Category == null || info.Arrow == false) + if (info == null || info.FixedRotation == true) continue; int newangle = Angle2D.RealToDoom(Vector2D.GetAngle(mousemappos, t.Position));