From 56691e1f6229e67a2f54660e662f1d5e9d738fdd Mon Sep 17 00:00:00 2001 From: Marc Chapman Date: Fri, 29 Jul 2016 17:14:59 +0100 Subject: [PATCH] Added undo define and checks --- .../source/gui/worldEditor/terrainEditor.cpp | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/Engine/source/gui/worldEditor/terrainEditor.cpp b/Engine/source/gui/worldEditor/terrainEditor.cpp index cf80218e3..7588e5ac0 100644 --- a/Engine/source/gui/worldEditor/terrainEditor.cpp +++ b/Engine/source/gui/worldEditor/terrainEditor.cpp @@ -2857,14 +2857,21 @@ DefineConsoleMethod( TerrainEditor, setSlopeLimitMaxAngle, F32, (F32 angle), , " //------------------------------------------------------------------------------ void TerrainEditor::autoMaterialLayer( F32 mMinHeight, F32 mMaxHeight, F32 mMinSlope, F32 mMaxSlope, F32 mCoverage ) { - if (!mActiveTerrain) + +#define AUTOPAINT_UNDO + + if (!mActiveTerrain) return; S32 mat = getPaintMaterialIndex(); if (mat == -1) return; - - mUndoSel = new Selection; + + + #ifndef AUTOPAINT_UNDO + mUndoSel = new Selection; + #endif + U32 terrBlocks = mActiveTerrain->getBlockSize(); for (U32 y = 0; y < terrBlocks; y++) @@ -2906,19 +2913,23 @@ void TerrainEditor::autoMaterialLayer( F32 mMinHeight, F32 mMaxHeight, F32 mMinS if (norm.z < mSin(mDegToRad(90.0f - mMaxSlope))) continue; - gi.mMaterialChanged = true; - mUndoSel->add(gi); + gi.mMaterialChanged = true; + #ifndef AUTOPAINT_UNDO + mUndoSel->add(gi); + #endif gi.mMaterial = mat; setGridInfo(gi); } } + #ifndef AUTOPAINT_UNDO if(mUndoSel->size()) submitUndo( mUndoSel ); else delete mUndoSel; - mUndoSel = 0; + #endif + scheduleMaterialUpdate(); }