summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-08-10 13:12:56 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-08-10 13:12:56 (GMT)
commita45ca0363e7598cb14d9dad00fae045e1487c2ed (patch)
tree6786dd3bb81b8d676fa4c690123922ebd277cb55 /src
parent810ea42f99cf9f56c1ac998ce8a203bea01e97b2 (diff)
downloadpowder-a45ca0363e7598cb14d9dad00fae045e1487c2ed.zip
powder-a45ca0363e7598cb14d9dad00fae045e1487c2ed.tar.gz
Tool - Correct box drawing. Finishing touches to tool strength (Fixes #87)
Diffstat (limited to 'src')
-rw-r--r--src/game/GameView.cpp60
-rw-r--r--src/simulation/Simulation.cpp2
2 files changed, 37 insertions, 25 deletions
diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp
index 817887e..905b57b 100644
--- a/src/game/GameView.cpp
+++ b/src/game/GameView.cpp
@@ -1142,25 +1142,31 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
enableAltBehaviour();
break;
case KEY_CTRL:
- if(drawModeReset)
- drawModeReset = false;
- else
- drawPoint1 = currentMouse;
- if(shift)
- drawMode = DrawFill;
- else
- drawMode = DrawRect;
+ if(!isMouseDown)
+ {
+ if(drawModeReset)
+ drawModeReset = false;
+ else
+ drawPoint1 = currentMouse;
+ if(shift)
+ drawMode = DrawFill;
+ else
+ drawMode = DrawRect;
+ }
enableCtrlBehaviour();
break;
case KEY_SHIFT:
- if(drawModeReset)
- drawModeReset = false;
- else
- drawPoint1 = currentMouse;
- if(ctrl)
- drawMode = DrawFill;
- else
- drawMode = DrawLine;
+ if(!isMouseDown)
+ {
+ if(drawModeReset)
+ drawModeReset = false;
+ else
+ drawPoint1 = currentMouse;
+ if(ctrl)
+ drawMode = DrawFill;
+ else
+ drawMode = DrawLine;
+ }
enableShiftBehaviour();
break;
case ' ': //Space
@@ -1538,10 +1544,13 @@ void GameView::enableShiftBehaviour()
if(!shiftBehaviour)
{
shiftBehaviour = true;
- if(!ctrlBehaviour)
- c->SetToolStrength(10.0f);
- else
- c->SetToolStrength(1.0f);
+ if(isMouseDown)
+ {
+ if(!ctrlBehaviour)
+ c->SetToolStrength(10.0f);
+ else
+ c->SetToolStrength(1.0f);
+ }
}
}
@@ -1584,10 +1593,13 @@ void GameView::enableCtrlBehaviour()
saveSimulationButton->Appearance.TextInactive = ui::Colour(0, 0, 0);
searchButton->Appearance.BackgroundInactive = ui::Colour(255, 255, 255);
searchButton->Appearance.TextInactive = ui::Colour(0, 0, 0);
- if(!shiftBehaviour)
- c->SetToolStrength(.1f);
- else
- c->SetToolStrength(1.0f);
+ if(isMouseDown)
+ {
+ if(!shiftBehaviour)
+ c->SetToolStrength(.1f);
+ else
+ c->SetToolStrength(1.0f);
+ }
}
}
diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp
index 841984e..c11bde0 100644
--- a/src/simulation/Simulation.cpp
+++ b/src/simulation/Simulation.cpp
@@ -1107,7 +1107,7 @@ void Simulation::ToolBox(int x1, int y1, int x2, int y2, int tool, Brush * cBrus
}
for (j=y1; j<=y2; j++)
for (i=x1; i<=x2; i++)
- ToolBrush(i, j, tool, cBrush, strength);
+ Tool(i, j, tool, strength);
}
int Simulation::CreateParts(int positionX, int positionY, int c, Brush * cBrush)