From 8bbf6b716a01e164b199f1d72d39dcfa397830b2 Mon Sep 17 00:00:00 2001
From: spherallic <spherallic@gmail.com>
Date: Fri, 26 May 2023 14:20:25 +0200
Subject: [PATCH] Fix testing from cursor/camera position for SRB2

---
 Source/Core/Editing/ClassicMode.cs    | 2 +-
 Source/Core/VisualModes/VisualMode.cs | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Source/Core/Editing/ClassicMode.cs b/Source/Core/Editing/ClassicMode.cs
index 751d21941..2bce2945c 100755
--- a/Source/Core/Editing/ClassicMode.cs
+++ b/Source/Core/Editing/ClassicMode.cs
@@ -791,7 +791,7 @@ namespace CodeImp.DoomBuilder.Editing
 				playerStartPosition = start.Position;
 
 				//everything should be valid, let's move player start here
-				start.Move(new Vector3D(mousemappos.x, mousemappos.y, s.FloorHeight));
+				start.Move(new Vector3D(mousemappos.x, mousemappos.y, 0));
 
 				General.Map.UndoRedo.IgnorePropChanges = oldignorepropchanges;
 			}
diff --git a/Source/Core/VisualModes/VisualMode.cs b/Source/Core/VisualModes/VisualMode.cs
index b7c7882ee..8617f41b4 100755
--- a/Source/Core/VisualModes/VisualMode.cs
+++ b/Source/Core/VisualModes/VisualMode.cs
@@ -223,7 +223,7 @@ namespace CodeImp.DoomBuilder.VisualModes
 					if(nearestsector != null)
 					{
 						int sectorheight = nearestsector.CeilHeight - nearestsector.FloorHeight;
-						if(sectorheight < 41)
+						if(sectorheight < 48)
 							posz = nearestsector.FloorHeight + Math.Max(16, sectorheight / 2);
 						else if(General.Map.VisualCamera.Position.z < nearestsector.FloorHeight + 41)
 							posz = nearestsector.FloorHeight + 41; // same as in doom
@@ -360,7 +360,7 @@ namespace CodeImp.DoomBuilder.VisualModes
 				}
 
 				//41 = player's height in Doom. Is that so in all other games as well?
-				if(s.CeilHeight - s.FloorHeight < 41) 
+				if(s.CeilHeight - s.FloorHeight < 48) 
 				{
 					General.MainWindow.DisplayStatus(StatusType.Warning, "Can't test from current position: sector is too low!");
 					return false;
-- 
GitLab