@@ -1042,14 +1042,20 @@ void RecorderClass::handleCRCMessage(UnsignedInt newCRC, Int playerIndex, Bool f
1042
1042
// problem is fixed. -MDC 3/20/2003
1043
1043
//
1044
1044
// TheSuperHackers @tweak helmutbuhler 03/04/2025
1045
- // More than 20 years later, but finally fixed and reenabled !
1045
+ // More than 20 years later, but finally fixed and re-enabled !
1046
1046
TheInGameUI->message (" GUI:CRCMismatch" );
1047
1047
1048
1048
// TheSuperHackers @info helmutbuhler 03/04/2025
1049
- // Note: We subtract the queue size from the frame no . This way we calculate the correct frame
1049
+ // Note: We subtract the queue size from the frame number . This way we calculate the correct frame
1050
1050
// the mismatch first happened in case the NetCRCInterval is set to 1 during the game.
1051
- DEBUG_CRASH ((" Replay has gone out of sync! All bets are off!\n InGame:%8.8X Replay:%8.8X\n Frame:%d" ,
1052
- playbackCRC, newCRC, TheGameLogic->getFrame ()-m_crcInfo->GetQueueSize ()-1 ));
1051
+ const UnsignedInt mismatchFrame = TheGameLogic->getFrame () - m_crcInfo->GetQueueSize () - 1 ;
1052
+
1053
+ // Now also prints a UI message for it.
1054
+ const UnicodeString mismatchDetailsStr = TheGameText->FETCH_OR_SUBSTITUTE (" GUI:CRCMismatchDetails" , L" InGame:%8.8X Replay:%8.8X Frame:%d" );
1055
+ TheInGameUI->message (mismatchDetailsStr, playbackCRC, newCRC, mismatchFrame);
1056
+
1057
+ DEBUG_LOG ((" Replay has gone out of sync!\n InGame:%8.8X Replay:%8.8X\n Frame:%d\n " ,
1058
+ playbackCRC, newCRC, mismatchFrame));
1053
1059
1054
1060
// TheSuperHackers @tweak Pause the game on mismatch.
1055
1061
Bool pause = TRUE ;
0 commit comments