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