Merge pull request #463 from Azaezel/fix/terrainpainting

terrain brush dragging cleanups
This commit is contained in:
Areloch 2021-01-28 00:45:01 -06:00 committed by GitHub
commit dcf176f043
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1841,6 +1841,7 @@ void TerrainEditor::on3DMouseMove(const Gui3DMouseEvent & event)
if(!hitTerrain) if(!hitTerrain)
{ {
mMouseBrush->reset(); mMouseBrush->reset();
return;
} }
else else
{ {
@ -1875,17 +1876,19 @@ void TerrainEditor::on3DMouseDragged(const Gui3DMouseEvent & event)
return; return;
Point3F pos; Point3F pos;
if ( !mSelectionLocked )
{
if ( !collide( event, pos) )
mMouseBrush->reset();
}
// check if the mouse has actually moved in grid space
bool selChanged = false; bool selChanged = false;
if ( !mSelectionLocked ) 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 gMouse;
Point2I gLastMouse; Point2I gLastMouse;
worldToGrid( pos, gMouse ); worldToGrid( pos, gMouse );
@ -1896,14 +1899,8 @@ void TerrainEditor::on3DMouseDragged(const Gui3DMouseEvent & event)
selChanged = gMouse != gLastMouse; selChanged = gMouse != gLastMouse;
} }
if (selChanged)
if (String::compare(getCurrentAction(), "paintMaterial") != 0) mCurrentAction->process( mMouseBrush, event, true, TerrainAction::Update );
{
if (mMouseDown)
return;
}
mCurrentAction->process( mMouseBrush, event, true, TerrainAction::Update );
} }
void TerrainEditor::on3DMouseUp(const Gui3DMouseEvent & event) void TerrainEditor::on3DMouseUp(const Gui3DMouseEvent & event)