From 899a2a046c19b45e3c7c1d6977c84a3de7ba4444 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Mon, 27 Apr 2020 23:20:54 -0400 Subject: [PATCH] Add ctrl+u shortcut to reset ambient heat --- .gitignore | 2 ++ src/gui/game/GameController.cpp | 5 +++++ src/gui/game/GameController.h | 1 + src/gui/game/GameModel.cpp | 5 +++++ src/gui/game/GameModel.h | 11 ++++++----- src/gui/game/GameView.cpp | 5 ++++- 6 files changed, 23 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 4ac39a19d..39d282e9a 100644 --- a/.gitignore +++ b/.gitignore @@ -69,5 +69,7 @@ site_scons/site_tools/mfprogram/*.pyc site_scons/site_tools/gch/*.pyc .vscode/ .vs/ +# Intentional merge conflict (meson stuff) +subprojects/ screenshot_* diff --git a/src/gui/game/GameController.cpp b/src/gui/game/GameController.cpp index 77c515206..3db2237db 100644 --- a/src/gui/game/GameController.cpp +++ b/src/gui/game/GameController.cpp @@ -885,6 +885,11 @@ bool GameController::GetAHeatEnable() return gameModel->GetAHeatEnable(); } +void GameController::ResetAHeat() +{ + gameModel->ResetAHeat(); +} + void GameController::ToggleNewtonianGravity() { gameModel->SetNewtonianGravity(!gameModel->GetNewtonianGrvity()); diff --git a/src/gui/game/GameController.h b/src/gui/game/GameController.h index 3b62106ab..67496c2c2 100644 --- a/src/gui/game/GameController.h +++ b/src/gui/game/GameController.h @@ -161,6 +161,7 @@ public: void SwitchAir(); void ToggleAHeat(); bool GetAHeatEnable(); + void ResetAHeat(); void ToggleNewtonianGravity(); bool LoadClipboard(); diff --git a/src/gui/game/GameModel.cpp b/src/gui/game/GameModel.cpp index ac8d58c13..e3686af24 100644 --- a/src/gui/game/GameModel.cpp +++ b/src/gui/game/GameModel.cpp @@ -1018,6 +1018,11 @@ bool GameModel::GetAHeatEnable() return sim->aheat_enable; } +void GameModel::ResetAHeat() +{ + sim->air->ClearAirH(); +} + void GameModel::SetNewtonianGravity(bool newtonainGravity) { if (newtonainGravity) diff --git a/src/gui/game/GameModel.h b/src/gui/game/GameModel.h index 9569d0d01..66c09c798 100644 --- a/src/gui/game/GameModel.h +++ b/src/gui/game/GameModel.h @@ -171,16 +171,17 @@ public: void SetSaveFile(SaveFile * newSave, bool invertIncludePressure); void AddObserver(GameView * observer); - bool GetPaused(); void SetPaused(bool pauseState); - bool GetDecoration(); + bool GetPaused(); void SetDecoration(bool decorationState); - bool GetAHeatEnable(); + bool GetDecoration(); void SetAHeatEnable(bool aHeat); - bool GetNewtonianGrvity(); + bool GetAHeatEnable(); + void ResetAHeat(); void SetNewtonianGravity(bool newtonainGravity); - bool GetGravityGrid(); + bool GetNewtonianGrvity(); void ShowGravityGrid(bool showGrid); + bool GetGravityGrid(); void ClearSimulation(); std::vector GetMenuList(); std::vector GetQuickOptions(); diff --git a/src/gui/game/GameView.cpp b/src/gui/game/GameView.cpp index 7f21f10f7..4b815d492 100644 --- a/src/gui/game/GameView.cpp +++ b/src/gui/game/GameView.cpp @@ -1387,7 +1387,10 @@ void GameView::OnKeyPress(int key, int scan, bool repeat, bool shift, bool ctrl, ui::Engine::Ref().ConfirmExit(); break; case SDL_SCANCODE_U: - c->ToggleAHeat(); + if (ctrl) + c->ResetAHeat(); + else + c->ToggleAHeat(); break; case SDL_SCANCODE_N: c->ToggleNewtonianGravity();