diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-02-02 11:55:43 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-02-02 11:55:43 (GMT) |
| commit | 6641f1d54196a2193b258d3e76e2cca6ad3258b1 (patch) | |
| tree | 9d7c812af9c5f3def4d5e73dc49d6e85add27fd9 /src/game | |
| parent | f5dd32b284fd311dd58070b6f431ec535fa93387 (diff) | |
| download | powder-6641f1d54196a2193b258d3e76e2cca6ad3258b1.zip powder-6641f1d54196a2193b258d3e76e2cca6ad3258b1.tar.gz | |
Frame stepping
Diffstat (limited to 'src/game')
| -rw-r--r-- | src/game/GameController.cpp | 6 | ||||
| -rw-r--r-- | src/game/GameController.h | 1 | ||||
| -rw-r--r-- | src/game/GameModel.cpp | 5 | ||||
| -rw-r--r-- | src/game/GameModel.h | 1 | ||||
| -rw-r--r-- | src/game/GameView.cpp | 3 |
5 files changed, 16 insertions, 0 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp index a4e0ccc..5c8ed6f 100644 --- a/src/game/GameController.cpp +++ b/src/game/GameController.cpp @@ -343,6 +343,12 @@ void GameController::OpenSaveWindow() } } +void GameController::FrameStep() +{ + gameModel->FrameStep(1); + gameModel->SetPaused(true); +} + void GameController::Vote(int direction) { if(gameModel->GetSave() && gameModel->GetUser().ID && gameModel->GetSave()->GetID() && gameModel->GetSave()->GetVote()==0) diff --git a/src/game/GameController.h b/src/game/GameController.h index 84af343..0e70371 100644 --- a/src/game/GameController.h +++ b/src/game/GameController.h @@ -60,6 +60,7 @@ public: void Vote(int direction); void ChangeBrush(); void ShowConsole(); + void FrameStep(); ui::Point PointTranslate(ui::Point point); }; diff --git a/src/game/GameModel.cpp b/src/game/GameModel.cpp index c026da8..6fc9dea 100644 --- a/src/game/GameModel.cpp +++ b/src/game/GameModel.cpp @@ -277,6 +277,11 @@ bool GameModel::GetPaused() return sim->sys_pause?true:false; } +void GameModel::FrameStep(int frames) +{ + sim->framerender += frames; +} + void GameModel::ClearSimulation() { sim->clear_sim(); diff --git a/src/game/GameModel.h b/src/game/GameModel.h index 0d7fc3f..170d1ed 100644 --- a/src/game/GameModel.h +++ b/src/game/GameModel.h @@ -70,6 +70,7 @@ public: vector<Tool*> GetToolList(); void SetActiveMenu(Menu * menu); Menu * GetActiveMenu(); + void FrameStep(int frames); User GetUser(); void SetUser(User user); void SetBrush(int i); diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp index e93b9b7..9e4a6dd 100644 --- a/src/game/GameView.cpp +++ b/src/game/GameView.cpp @@ -513,6 +513,9 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool case '`': c->ShowConsole(); break; + case 'f': + c->FrameStep(); + break; } } |
