summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2012-10-21 00:06:38 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-10-26 14:16:05 (GMT)
commite773abdcc89c1f7cc09cce39c6d4b30eaa6fd69e (patch)
treeb55cf02aa43d5e0e789716893f8f0883ab7f41c7 /src
parent3ad7cf4539ee1e4cd7b700200722cfd39c9006bc (diff)
downloadpowder-e773abdcc89c1f7cc09cce39c6d4b30eaa6fd69e.zip
powder-e773abdcc89c1f7cc09cce39c6d4b30eaa6fd69e.tar.gz
Ctrl + G gravity grid toggle
Diffstat (limited to 'src')
-rw-r--r--src/game/GameController.cpp6
-rw-r--r--src/game/GameController.h1
-rw-r--r--src/game/GameModel.cpp14
-rw-r--r--src/game/GameModel.h2
-rw-r--r--src/game/GameView.cpp6
-rw-r--r--src/game/QuickOptions.h4
6 files changed, 29 insertions, 4 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp
index dfe3a94..07ccfe9 100644
--- a/src/game/GameController.cpp
+++ b/src/game/GameController.cpp
@@ -860,6 +860,12 @@ void GameController::SetDecoration()
gameModel->SetDecoration(!gameModel->GetDecoration());
}
+void GameController::ShowGravityGrid()
+{
+ gameModel->ShowGravityGrid(!gameModel->GetGravityGrid());
+ gameModel->UpdateQuickOptions();
+}
+
void GameController::SetActiveColourPreset(int preset)
{
gameModel->SetActiveColourPreset(preset);
diff --git a/src/game/GameController.h b/src/game/GameController.h
index 2ac8bea..4c7a8c9 100644
--- a/src/game/GameController.h
+++ b/src/game/GameController.h
@@ -94,6 +94,7 @@ public:
void SetPaused();
void SetDecoration(bool decorationState);
void SetDecoration();
+ void ShowGravityGrid();
void SetActiveMenu(Menu * menu);
void SetActiveTool(int toolSelection, Tool * tool);
void SetActiveColourPreset(int preset);
diff --git a/src/game/GameModel.cpp b/src/game/GameModel.cpp
index 0a3c577..4a11d55 100644
--- a/src/game/GameModel.cpp
+++ b/src/game/GameModel.cpp
@@ -802,6 +802,20 @@ bool GameModel::GetAHeatEnable()
return sim->aheat_enable;
}
+void GameModel::ShowGravityGrid(bool showGrid)
+{
+ ren->gravityFieldEnabled = showGrid;
+ if (showGrid)
+ SetInfoTip("Gravity Grid: On");
+ else
+ SetInfoTip("Gravity Grid: Off");
+}
+
+bool GameModel::GetGravityGrid()
+{
+ return ren->gravityFieldEnabled;
+}
+
void GameModel::FrameStep(int frames)
{
sim->framerender += frames;
diff --git a/src/game/GameModel.h b/src/game/GameModel.h
index 7288c32..c1d97d6 100644
--- a/src/game/GameModel.h
+++ b/src/game/GameModel.h
@@ -162,6 +162,8 @@ public:
void SetDecoration(bool decorationState);
bool GetAHeatEnable();
void SetAHeatEnable(bool aHeat);
+ bool GetGravityGrid();
+ void ShowGravityGrid(bool showGrid);
void ClearSimulation();
vector<Menu*> GetMenuList();
vector<Tool*> GetUnlistedTools();
diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp
index 73b3833..0e3f580 100644
--- a/src/game/GameView.cpp
+++ b/src/game/GameView.cpp
@@ -1271,7 +1271,9 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
c->FrameStep();
break;
case 'g':
- if(shift)
+ if (ctrl)
+ c->ShowGravityGrid();
+ else if(shift)
c->AdjustGridSize(-1);
else
c->AdjustGridSize(1);
@@ -1419,7 +1421,7 @@ void GameView::OnBlur()
void GameView::OnTick(float dt)
{
if(selectMode==PlaceSave && !placeSaveThumb)
- selectMode = SelectNone;
+ selectMode = SelectNone;
if(zoomEnabled && !zoomCursorFixed)
c->SetZoomPosition(currentMouse);
if(drawMode == DrawPoints)
diff --git a/src/game/QuickOptions.h b/src/game/QuickOptions.h
index 5455051..7c31f9c 100644
--- a/src/game/QuickOptions.h
+++ b/src/game/QuickOptions.h
@@ -29,11 +29,11 @@ public:
}
virtual bool GetToggle()
{
- return m->GetRenderer()->gravityFieldEnabled;
+ return m->GetGravityGrid();
}
virtual void perform()
{
- m->GetRenderer()->gravityFieldEnabled = !m->GetRenderer()->gravityFieldEnabled;
+ m->ShowGravityGrid(!m->GetGravityGrid());
}
};