beyond-all-reason / beyond-all-reason/RecoilEngine

Check the "skip checksum check" code

Open
#1,271 0 comments 0 reactions 0 assignees View on GitHub
refactor
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.