diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp index aede8d6ed..eab5dcc49 100644 --- a/src/game/GameController.cpp +++ b/src/game/GameController.cpp @@ -193,7 +193,7 @@ void GameController::AdjustBrushSize(int direction, bool logarithmic, bool xAxis ui::Point newSize(0, 0); ui::Point oldSize = gameModel->GetBrush()->GetRadius(); if(logarithmic) - newSize = gameModel->GetBrush()->GetRadius() + ui::Point(direction * ((gameModel->GetBrush()->GetRadius().X/10)>0?gameModel->GetBrush()->GetRadius().X/10:1), direction * ((gameModel->GetBrush()->GetRadius().Y/10)>0?gameModel->GetBrush()->GetRadius().Y/10:1)); + newSize = gameModel->GetBrush()->GetRadius() + ui::Point(direction * ((gameModel->GetBrush()->GetRadius().X/5)>0?gameModel->GetBrush()->GetRadius().X/5:1), direction * ((gameModel->GetBrush()->GetRadius().Y/5)>0?gameModel->GetBrush()->GetRadius().Y/5:1)); else newSize = gameModel->GetBrush()->GetRadius() + ui::Point(direction, direction); if(newSize.X<0) diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp index 5c4ecee04..610e3ca73 100644 --- a/src/game/GameView.cpp +++ b/src/game/GameView.cpp @@ -909,6 +909,7 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool { case KEY_ALT: drawSnap = true; + enableAltBehaviour(); break; case KEY_CTRL: if(drawModeReset) @@ -989,10 +990,10 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool c->OpenStamps(); break; case ']': - c->AdjustBrushSize(1, true, shiftBehaviour, ctrlBehaviour); + c->AdjustBrushSize(1, !alt, shiftBehaviour, ctrlBehaviour); break; case '[': - c->AdjustBrushSize(-1, true, shiftBehaviour, ctrlBehaviour); + c->AdjustBrushSize(-1, !alt, shiftBehaviour, ctrlBehaviour); break; } @@ -1019,6 +1020,7 @@ void GameView::OnKeyRelease(int key, Uint16 character, bool shift, bool ctrl, bo { case KEY_ALT: drawSnap = false; + disableAltBehaviour(); break; case KEY_CTRL: disableCtrlBehaviour(); @@ -1264,6 +1266,22 @@ void GameView::disableShiftBehaviour() } } +void GameView::enableAltBehaviour() +{ + if(!altBehaviour) + { + altBehaviour = true; + } +} + +void GameView::disableAltBehaviour() +{ + if(altBehaviour) + { + altBehaviour = false; + } +} + void GameView::enableCtrlBehaviour() { if(!ctrlBehaviour) diff --git a/src/game/GameView.h b/src/game/GameView.h index 9db25f414..b9c060434 100644 --- a/src/game/GameView.h +++ b/src/game/GameView.h @@ -40,6 +40,7 @@ private: bool drawSnap; bool shiftBehaviour; bool ctrlBehaviour; + bool altBehaviour; bool showHud; int toolIndex; @@ -109,6 +110,8 @@ private: void disableShiftBehaviour(); void enableCtrlBehaviour(); void disableCtrlBehaviour(); + void enableAltBehaviour(); + void disableAltBehaviour(); public: GameView();