mirror of
https://github.com/The-Powder-Toy/The-Powder-Toy.git
synced 2025-08-26 09:24:28 +02:00
Command line "open"
This commit is contained in:
@@ -363,6 +363,39 @@ int main(int argc, char * argv[])
|
|||||||
GameController * gameController = new GameController();
|
GameController * gameController = new GameController();
|
||||||
engine->ShowWindow(gameController->GetView());
|
engine->ShowWindow(gameController->GetView());
|
||||||
|
|
||||||
|
if(arguments["open"].length())
|
||||||
|
{
|
||||||
|
std::cout << arguments["open"] << std::endl;
|
||||||
|
if(Client::Ref().FileExists(arguments["open"]))
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
std::vector<unsigned char> gameSaveData = Client::Ref().ReadFile(arguments["open"]);
|
||||||
|
if(!gameSaveData.size())
|
||||||
|
{
|
||||||
|
new ErrorMessage("Error", "Could not read file");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SaveFile * newFile = new SaveFile(arguments["open"]);
|
||||||
|
GameSave * newSave = new GameSave(gameSaveData);
|
||||||
|
newFile->SetGameSave(newSave);
|
||||||
|
gameController->LoadSaveFile(newFile);
|
||||||
|
delete newFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch(std::exception & e)
|
||||||
|
{
|
||||||
|
new ErrorMessage("Error", "Could not open save file:\n"+std::string(e.what())) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
new ErrorMessage("Error", "Could not open file");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
SDL_Event event;
|
SDL_Event event;
|
||||||
while(engine->Running())
|
while(engine->Running())
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user