Playing back a replay whose map is not installed does not fail. The game loads, plays, and reports a CRC mismatch a few frames in. That looks identical to a real desync, so it sends you hunting for a simulation bug that is not there.
Repro
- Take a replay recorded on a user map (
M=userdata/maps/<name> in the header).
- Make sure that map is not installed.
generalszh.exe -headless -replay "<file>.rep"
Result: Could not find map "<path>", then CRC Mismatch in Frame 110. Playback carries on regardless.
Expected: playback stops with a clear error naming the missing map.
Suggested fix
Fail when TheMapCache->findMap returns NULL instead of carrying on with defaults. The replay header already stores the map CRC and size (MC= and MS=), so playback could also check the installed map matches the recording.
Playing back a replay whose map is not installed does not fail. The game loads, plays, and reports a CRC mismatch a few frames in. That looks identical to a real desync, so it sends you hunting for a simulation bug that is not there.
Repro
M=userdata/maps/<name>in the header).generalszh.exe -headless -replay "<file>.rep"Result:
Could not find map "<path>", thenCRC Mismatch in Frame 110. Playback carries on regardless.Expected: playback stops with a clear error naming the missing map.
Suggested fix
Fail when
TheMapCache->findMapreturns NULL instead of carrying on with defaults. The replay header already stores the map CRC and size (MC=andMS=), so playback could also check the installed map matches the recording.