summaryrefslogtreecommitdiff
path: root/src/game/GameModel.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-07-29 11:29:19 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-07-29 11:29:19 (GMT)
commit90ad1fd8564f8a305932b1488159c1f784c04ae8 (patch)
treebee30f5de7eb12e53c5d7c1dd5b43cb4f7d3459d /src/game/GameModel.cpp
parent824bde4cebd78aa04c9018171316f7533307e0ce (diff)
downloadpowder-90ad1fd8564f8a305932b1488159c1f784c04ae8.zip
powder-90ad1fd8564f8a305932b1488159c1f784c04ae8.tar.gz
Restart N. Grav when needed (somewhat effects issue #31) and fix shitty logic when setting paused state on loading save (Fixes issue #34)
Diffstat (limited to 'src/game/GameModel.cpp')
-rw-r--r--src/game/GameModel.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/game/GameModel.cpp b/src/game/GameModel.cpp
index fef4e61..b2f7d70 100644
--- a/src/game/GameModel.cpp
+++ b/src/game/GameModel.cpp
@@ -289,19 +289,15 @@ void GameModel::SetSave(SaveInfo * newSave)
if(currentSave && currentSave->GetGameSave())
{
GameSave * saveData = currentSave->GetGameSave();
- SetPaused(saveData->paused & GetPaused());
+ SetPaused(saveData->paused | GetPaused());
sim->gravityMode = saveData->gravityMode;
sim->air->airMode = saveData->airMode;
sim->legacy_enable = saveData->legacyEnable;
sim->water_equal_test = saveData->waterEEnabled;
- if(saveData->gravityEnable && !sim->grav->ngrav_enable)
- {
+ if(saveData->gravityEnable)
sim->grav->start_grav_async();
- }
- else if(!saveData->gravityEnable && sim->grav->ngrav_enable)
- {
+ else
sim->grav->stop_grav_async();
- }
sim->clear_sim();
sim->Load(saveData);
}