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