beyond-all-reason / beyond-all-reason/RecoilEngine
Check the "skip checksum check" code
- Dominant language
- C++
- Stars
- 679
- Forks
- 290
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 40
Description
https://github.com/beyond-all-reason/spring/blob/fea98f9733e18c6ef083dc689f2b6e37262a7347/rts/System/FileSystem/ArchiveScanner.cpp#L1492
The above is supposed to be the "don't check the checksum" value, for example so that dedicated (which just relays traffic and doesn't care about missing archives) doesn't complain.
Some questions.
* why isn't the value just 0? Does 0 already have a meaning? Perhaps zero is "archive missing", but shouldn't a completely missing archive generally be caught at an earlier stage?
* why is the value 0x8000... (i.e. the single most significant bit is enabled) instead of just 1? Sounds inconvenient and mistake-prone (apparently ZK sets 1).
* how are existing dedi autohosts other than ZK (e.g. SPADS) using it?
Contributor guide
Research direction
Start in rts/System/FileSystem/ArchiveScanner.cpp around line 1492 and trace how the checksum value is produced and consumed. Compare that behavior with dedicated autohost usage, including ZK and the mentioned SPADS case. Done means the sentinel's meaning and value are documented and any necessary correction is identified and validated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100