Description
- Relates to Implement debug to detect game state mismatch #289
- Relates to Implement debug feature to auto load replay(s) #565
- Relates to [ZH] Fix Replay CRC Checking #545
If we want to be serious about preserving multiplayer compatibility with the retail game for the time being, then we need to explore implementing a feature that can verify the correctness of replay playbacks.
To do that, we need to have a replay
- Hash dumper
- Hash reader
- Hash comparator
The game client needs to be able to dump relevant hashes of a replay playback into a hash records file. That file can then sit next to the replay. On playback, that hash records file is loaded back and compared against the running state of the replay. When a mismatch is detected, a result highlights where that hash mismatch was found.
This feature will allow to test correctness with a selection of prerecorded replays before every gameplay relevant code change we do going forward. This helps avoid introducing unexpected mismatches.
TODO
- Replicate [ZH] Fix Replay CRC Checking #545 in Generals