Move warning about #1965 to a better place (see d175f776a)

install-platforms
Julius Michaelis 2018-01-28 01:14:25 +01:00
parent d175f776ad
commit 1a5a60c39e
4 changed files with 24 additions and 12 deletions

View File

@ -347,7 +347,7 @@ IDS_DLG_LEAGUESIGNUPON=Liga-Anmeldung auf %s
IDS_DLG_LOBBY=Lobby
IDS_DLG_LOG=Fehlermeldungen
IDS_DLG_MISSIONACCESS=Missionszugang
IDS_DLG_NETRESUME=Du hast soeben ein Spiel im Netzwerkmodus gespeichert.|Es ist unwahschreinlich, dass der Spielstand als Netzwerkspiel fortgesetzt werden kann.|Dies ist ein bekannter Fehler.
IDS_DLG_NETRESUME=Es gibt lokale Spieler, die keinen Spieler aus dem Spielstand weiterverwenden.|Es ist wahschreinlich, dass das Spiel nicht synchron ablaufen wird.|Dies ist ein bekannter Fehler.||Trozdem starten?
IDS_DLG_NETSTART=Netzwerkspiel starten
IDS_DLG_NETWORK=Netzwerk
IDS_DLG_NO=&Nein

View File

@ -347,7 +347,7 @@ IDS_DLG_LEAGUESIGNUPON=League Login on %s
IDS_DLG_LOBBY=Lobby
IDS_DLG_LOG=Error Log
IDS_DLG_MISSIONACCESS=Mission Access
IDS_DLG_NETRESUME=You just saved a game in network mode.|It is unlikely that this save can be resumed as a network game.|This is a known error.
IDS_DLG_NETRESUME=There are local players that do not use an existing savegame player.|It is unlikely that the game will run synchronously.|This is a known error.||Start anyway?
IDS_DLG_NETSTART=Start Network Game
IDS_DLG_NETWORK=Network
IDS_DLG_NO=&No

View File

@ -1981,16 +1981,6 @@ bool C4Game::QuickSave(const char *strFilename, const char *strTitle, bool fForc
// Success
Log(LoadResStr("IDS_CNS_GAMESAVED"));
// Warning about network saves
if (Network.isEnabled())
::pGUI->ShowMessageModal(
LoadResStr("IDS_DLG_NETRESUME"),
LoadResStr("IDS_CNS_GAMESAVED"),
C4GUI::MessageDialog::btnOK,
C4GUI::Ico_Error
);
return true;
}

View File

@ -407,12 +407,34 @@ namespace C4GameLobby
{
// network savegame resumes: Warn if not all players have been associated
if (Game.C4S.Head.SaveGame)
{
if (Game.PlayerInfos.FindUnassociatedRestoreInfo(Game.RestorePlayerInfos))
{
StdStrBuf sMsg; sMsg.Ref(LoadResStr("IDS_MSG_NOTALLSAVEGAMEPLAYERSHAVE"));
if (!GetScreen()->ShowMessageModal(sMsg.getData(), LoadResStr("IDS_MSG_FREESAVEGAMEPLRS"), C4GUI::MessageDialog::btnYesNo, C4GUI::Ico_SavegamePlayer, &Config.Startup.HideMsgPlrNoTakeOver))
return;
}
// warning about desync bug #1965
int i=0; C4ClientPlayerInfos *pkInfo;
while ((pkInfo = Game.PlayerInfos.GetIndexedInfo(i++))) {
C4PlayerInfo *pPlrInfo; int32_t iInfo=0;
while ((pPlrInfo = pkInfo->GetPlayerInfo(iInfo++)))
if (!pPlrInfo->GetAssociatedSavegamePlayerID())
{
bool ignore = GetScreen()->ShowMessageModal(
LoadResStr("IDS_DLG_NETRESUME"),
LoadResStr("IDS_MSG_FREESAVEGAMEPLRS"),
C4GUI::MessageDialog::btnYesNo,
C4GUI::Ico_Error
);
if (ignore)
break;
else
return;
}
}
}
// validate countdown time
iCountdownTime = ValidatedCountdownTime(iCountdownTime);
// either direct start...