diff options
| author | jacob1 <jfu614@gmail.com> | 2012-10-21 00:06:38 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-10-26 14:16:05 (GMT) |
| commit | e773abdcc89c1f7cc09cce39c6d4b30eaa6fd69e (patch) | |
| tree | b55cf02aa43d5e0e789716893f8f0883ab7f41c7 /src | |
| parent | 3ad7cf4539ee1e4cd7b700200722cfd39c9006bc (diff) | |
| download | powder-e773abdcc89c1f7cc09cce39c6d4b30eaa6fd69e.zip powder-e773abdcc89c1f7cc09cce39c6d4b30eaa6fd69e.tar.gz | |
Ctrl + G gravity grid toggle
Diffstat (limited to 'src')
| -rw-r--r-- | src/game/GameController.cpp | 6 | ||||
| -rw-r--r-- | src/game/GameController.h | 1 | ||||
| -rw-r--r-- | src/game/GameModel.cpp | 14 | ||||
| -rw-r--r-- | src/game/GameModel.h | 2 | ||||
| -rw-r--r-- | src/game/GameView.cpp | 6 | ||||
| -rw-r--r-- | src/game/QuickOptions.h | 4 |
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()); } }; |
