From 66db6ac3763dd846c936fe0c38dcc2102dd1ff0d Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Wed, 27 Jan 2021 23:36:23 -0600 Subject: [PATCH] terrain brush dragging cleanups --- .../source/gui/worldEditor/terrainEditor.cpp | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/Engine/source/gui/worldEditor/terrainEditor.cpp b/Engine/source/gui/worldEditor/terrainEditor.cpp index cb836c147..f95928a59 100644 --- a/Engine/source/gui/worldEditor/terrainEditor.cpp +++ b/Engine/source/gui/worldEditor/terrainEditor.cpp @@ -1841,6 +1841,7 @@ void TerrainEditor::on3DMouseMove(const Gui3DMouseEvent & event) if(!hitTerrain) { mMouseBrush->reset(); + return; } else { @@ -1875,17 +1876,19 @@ void TerrainEditor::on3DMouseDragged(const Gui3DMouseEvent & event) return; Point3F pos; - - if ( !mSelectionLocked ) - { - if ( !collide( event, pos) ) - mMouseBrush->reset(); - } - - // check if the mouse has actually moved in grid space bool selChanged = false; + if ( !mSelectionLocked ) { + TerrainBlock* hitTerrain = collide(event, pos); + + if (!hitTerrain) + { + mMouseBrush->reset(); + return; + } + + // check if the mouse has actually moved in grid space Point2I gMouse; Point2I gLastMouse; worldToGrid( pos, gMouse ); @@ -1896,8 +1899,8 @@ void TerrainEditor::on3DMouseDragged(const Gui3DMouseEvent & event) selChanged = gMouse != gLastMouse; } - - mCurrentAction->process( mMouseBrush, event, true, TerrainAction::Update ); + if (selChanged) + mCurrentAction->process( mMouseBrush, event, true, TerrainAction::Update ); } void TerrainEditor::on3DMouseUp(const Gui3DMouseEvent & event)