From 68c5ed17479c1be6a553062e771dabc550cf2a05 Mon Sep 17 00:00:00 2001
From: MaxED <j.maxed@gmail.com>
Date: Sun, 17 Jul 2016 23:07:58 +0000
Subject: [PATCH] Fixed a crash when trying to set pitch of a non-model thing
 (was introduced in R2678).

---
 Source/Core/Map/Thing.cs | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/Source/Core/Map/Thing.cs b/Source/Core/Map/Thing.cs
index 998a905a7..6b2e3cab9 100644
--- a/Source/Core/Map/Thing.cs
+++ b/Source/Core/Map/Thing.cs
@@ -443,9 +443,25 @@ namespace CodeImp.DoomBuilder.Map
 			BeforePropsChange();
 
 			pitch = General.ClampAngle(newpitch);
-			ModelData md = General.Map.Data.ModeldefEntries[type];
-			pitchrad = ((rendermode == ThingRenderMode.FLATSPRITE || (rendermode == ThingRenderMode.MODEL && (md.InheritActorPitch || md.UseActorPitch)))
-				? Angle2D.DegToRad(md.InheritActorPitch ? -pitch : pitch) : 0);
+
+			switch(rendermode)
+			{
+				case ThingRenderMode.MODEL:
+					ModelData md = General.Map.Data.ModeldefEntries[type];
+					if(md.InheritActorPitch || md.UseActorPitch)
+						pitchrad = Angle2D.DegToRad(md.InheritActorPitch ? -pitch : pitch);
+					else
+						pitchrad = 0;
+					break;
+
+				case ThingRenderMode.FLATSPRITE:
+					pitchrad = Angle2D.DegToRad(pitch);
+					break;
+
+				default:
+					pitchrad = 0;
+					break;
+			}
 
 			if(type != General.Map.Config.Start3DModeThingType)
 				General.Map.IsChanged = true;
-- 
GitLab