mirror of
https://github.com/vcmi/vcmi.git
synced 2025-06-29 00:41:38 +02:00
Implemented #714 — restart functionality, including quick restart tweak (bound to CTRL+R).
This commit is contained in:
@ -709,8 +709,7 @@ static void listenForEvents()
|
||||
}
|
||||
case RETURN_TO_MAIN_MENU:
|
||||
client->endGame();
|
||||
delete client;
|
||||
client = NULL;
|
||||
vstd::clear_pointer(client);
|
||||
|
||||
delete CGI->dobjinfo.get();
|
||||
const_cast<CGameInfo*>(CGI)->dobjinfo = new CDefObjInfoHandler;
|
||||
@ -723,6 +722,19 @@ static void listenForEvents()
|
||||
case STOP_CLIENT:
|
||||
client->endGame(false);
|
||||
break;
|
||||
case RESTART_GAME:
|
||||
{
|
||||
StartInfo si = *client->getStartInfo();
|
||||
client->endGame();
|
||||
vstd::clear_pointer(client);
|
||||
|
||||
delete CGI->dobjinfo.get();
|
||||
const_cast<CGameInfo*>(CGI)->dobjinfo = new CDefObjInfoHandler;
|
||||
const_cast<CGameInfo*>(CGI)->dobjinfo->load();
|
||||
|
||||
startGame(&si);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
tlog1 << "Error: unknown user event. Code " << ev->user.code << std::endl;
|
||||
assert(0);
|
||||
|
Reference in New Issue
Block a user