diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/BrushTool.h b/GeneralsMD/Code/Tools/WorldBuilder/include/BrushTool.h index 7c767c82bb..088e7ad2e8 100644 --- a/GeneralsMD/Code/Tools/WorldBuilder/include/BrushTool.h +++ b/GeneralsMD/Code/Tools/WorldBuilder/include/BrushTool.h @@ -31,14 +31,40 @@ class WorldHeightMapEdit; /// Height brush tool. class BrushTool : public Tool { +public: + enum { + MIN_RAISE_LOWER = 1, + MAX_RAISE_LOWER = 21, + MIN_SMOOTH_RADIUS = 1, + MAX_SMOOTH_RADIUS = 5, + MIN_SMOOTH_RATE = 1, + MAX_SMOOTH_RATE = 10 + }; + + enum EBrushMode { + BRUSH_MODE_RAISE, + BRUSH_MODE_LOWER, + BRUSH_MODE_SET, + BRUSH_MODE_SMOOTH + }; + protected: + enum {MIN_DELAY_TIME = 60}; + WorldHeightMapEdit *m_htMapEditCopy; ///< ref counted. WorldHeightMapEdit *m_htMapFeatherCopy; ///< ref counted. + WorldHeightMapEdit *m_htMapRateCopy; ///< ref counted (smooth mode). static Int m_brushWidth; static Int m_brushFeather; static Bool m_brushSquare; static Int m_brushHeight; + static Int m_raiseLowerAmount; + static Int m_smoothRadius; + static Int m_smoothRate; + + EBrushMode m_activeMode; + Int m_lastMoveTime; public: BrushTool(void); @@ -48,9 +74,68 @@ class BrushTool : public Tool static Int getWidth(void) {return m_brushWidth;}; ///