summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2013-05-15 17:51:45 (GMT)
committer jacob1 <jfu614@gmail.com>2013-05-15 17:51:45 (GMT)
commitdfc33aaeeaa066ff0107b4ed68ec7756fbc5acb3 (patch)
tree51d5c2e1fd34f26d862b6eee80e3960c3243d7c1 /src/gui
parent94d21a1679749df49342903545192254a27f8ffc (diff)
downloadpowder-dfc33aaeeaa066ff0107b4ed68ec7756fbc5acb3.zip
powder-dfc33aaeeaa066ff0107b4ed68ec7756fbc5acb3.tar.gz
finish return values for the legacy api, add sim.saveStamp and sim.loadStamp
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/game/GameController.cpp7
-rw-r--r--src/gui/game/GameController.h2
-rw-r--r--src/gui/game/GameModel.cpp8
-rw-r--r--src/gui/game/GameModel.h2
4 files changed, 10 insertions, 9 deletions
diff --git a/src/gui/game/GameController.cpp b/src/gui/game/GameController.cpp
index ad48f66..267133b 100644
--- a/src/gui/game/GameController.cpp
+++ b/src/gui/game/GameController.cpp
@@ -509,17 +509,20 @@ void GameController::ToolClick(int toolSelection, ui::Point point)
activeTool->Click(sim, cBrush, point);
}
-void GameController::StampRegion(ui::Point point1, ui::Point point2)
+std::string 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);
+ return gameModel->AddStamp(newSave);
}
else
+ {
new ErrorMessage("Could not create stamp", "Error generating save file");
+ return "";
+ }
}
void GameController::CopyRegion(ui::Point point1, ui::Point point2)
diff --git a/src/gui/game/GameController.h b/src/gui/game/GameController.h
index 59fd4c8..b67df41 100644
--- a/src/gui/game/GameController.h
+++ b/src/gui/game/GameController.h
@@ -90,7 +90,7 @@ public:
void DrawRect(int toolSelection, ui::Point point1, ui::Point point2);
void DrawLine(int toolSelection, ui::Point point1, ui::Point point2);
void DrawFill(int toolSelection, ui::Point point);
- void StampRegion(ui::Point point1, ui::Point point2);
+ std::string StampRegion(ui::Point point1, ui::Point point2);
void CopyRegion(ui::Point point1, ui::Point point2);
void CutRegion(ui::Point point1, ui::Point point2);
void Update();
diff --git a/src/gui/game/GameModel.cpp b/src/gui/game/GameModel.cpp
index 960f45a..aecd0eb 100644
--- a/src/gui/game/GameModel.cpp
+++ b/src/gui/game/GameModel.cpp
@@ -348,10 +348,8 @@ void GameModel::BuildMenus()
//Set default menu
activeMenu = SC_POWDERS;
- if(lastMenu != -1) //What is this? ...
- {
+ if(lastMenu != -1)
activeMenu = lastMenu;
- }
if(activeMenu != -1)
toolList = menuList[activeMenu]->GetToolList();
@@ -882,12 +880,12 @@ void GameModel::SetPlaceSave(GameSave * save)
notifyPlaceSaveChanged();
}
-void GameModel::AddStamp(GameSave * save)
+std::string GameModel::AddStamp(GameSave * save)
{
if(stamp)
delete stamp;
stamp = save;
- Client::Ref().AddStamp(save);
+ return Client::Ref().AddStamp(save);
}
void GameModel::SetClipboard(GameSave * save)
diff --git a/src/gui/game/GameModel.h b/src/gui/game/GameModel.h
index dd54d91..92df87f 100644
--- a/src/gui/game/GameModel.h
+++ b/src/gui/game/GameModel.h
@@ -186,7 +186,7 @@ public:
void SetZoomWindowPosition(ui::Point position);
ui::Point GetZoomWindowPosition();
void SetStamp(GameSave * newStamp);
- void AddStamp(GameSave * save);
+ std::string AddStamp(GameSave * save);
void SetClipboard(GameSave * save);
void SetPlaceSave(GameSave * save);
void Log(string message);