summaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2012-11-16 01:41:38 (GMT)
committer jacob1 <jfu614@gmail.com>2012-11-16 01:41:38 (GMT)
commit16e4c5f7179db5beabe3065781adec7d27000cd9 (patch)
treeb4544943d893a28a9c7c2b62fbbdc36ee2c1f514 /src/game
parent1e32c545d9ca7f960cdd6f77714c7b2761880478 (diff)
downloadpowder-16e4c5f7179db5beabe3065781adec7d27000cd9.zip
powder-16e4c5f7179db5beabe3065781adec7d27000cd9.tar.gz
save pause state in stamps, load pause state from local saves and stamps correctly, remove accidental inclusion
Diffstat (limited to 'src/game')
-rw-r--r--src/game/GameController.cpp8
-rw-r--r--src/game/GameModel.cpp2
2 files changed, 8 insertions, 2 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp
index 0f3d92e..0cff7d2 100644
--- a/src/game/GameController.cpp
+++ b/src/game/GameController.cpp
@@ -240,7 +240,7 @@ void GameController::PlaceSave(ui::Point position)
if(gameModel->GetPlaceSave())
{
gameModel->GetSimulation()->Load(position.X, position.Y, gameModel->GetPlaceSave());
- gameModel->SetPaused(gameModel->GetPaused());
+ gameModel->SetPaused(gameModel->GetPlaceSave()->paused | gameModel->GetPaused());
}
}
@@ -489,7 +489,10 @@ void GameController::StampRegion(ui::Point point1, ui::Point point2)
GameSave * newSave;
newSave = gameModel->GetSimulation()->Save(point1.X, point1.Y, point2.X, point2.Y);
if(newSave)
+ {
+ newSave->paused = gameModel->GetPaused();
gameModel->AddStamp(newSave);
+ }
else
new ErrorMessage("Could not create stamp", "Error generating save file");
}
@@ -499,7 +502,10 @@ void GameController::CopyRegion(ui::Point point1, ui::Point point2)
GameSave * newSave;
newSave = gameModel->GetSimulation()->Save(point1.X, point1.Y, point2.X, point2.Y);
if(newSave)
+ {
+ newSave->paused = gameModel->GetPaused();
gameModel->SetClipboard(newSave);
+ }
}
void GameController::CutRegion(ui::Point point1, ui::Point point2)
diff --git a/src/game/GameModel.cpp b/src/game/GameModel.cpp
index 4a11d55..774d636 100644
--- a/src/game/GameModel.cpp
+++ b/src/game/GameModel.cpp
@@ -587,7 +587,7 @@ void GameModel::SetSaveFile(SaveFile * newSave)
if(newSave && newSave->GetGameSave())
{
GameSave * saveData = newSave->GetGameSave();
- SetPaused(saveData->paused & GetPaused());
+ SetPaused(saveData->paused | GetPaused());
sim->gravityMode = saveData->gravityMode;
sim->air->airMode = saveData->airMode;
sim->legacy_enable = saveData->legacyEnable;