Codechange: skip all commands of the past during desync replay (#12520)

This commit is contained in:
Patric Stout 2024-04-17 22:05:45 +02:00 committed by GitHub
parent a0636d8200
commit 07b162ffc4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 10 additions and 0 deletions

View File

@ -1157,6 +1157,16 @@ void NetworkGameLoop()
}
}
/* Skip all entries in the command-log till we caught up with the current game again. */
if (TimerGameEconomy::date > next_date || (TimerGameEconomy::date == next_date && TimerGameEconomy::date_fract > next_date_fract)) {
Debug(desync, 0, "Skipping to next command at {:08x}:{:02x}", next_date, next_date_fract);
if (cp != nullptr) {
delete cp;
cp = nullptr;
}
check_sync_state = false;
}
if (cp != nullptr || check_sync_state) break;
char buff[4096];