-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture
Peterson Fernandes edited this page Aug 15, 2026
·
1 revision
RetroAchievementsSharp is a 1:1 translation of the rc_hash module of
rcheevos (MIT) — originally
pinned to the RAHasher 1.8.3 submodule commit (40d916d, rcheevos 12.2.1)
and since evolved to track rcheevos 12.4.0 as the single source of truth.
RetroAchievementsSharp.sln solution (Core + Cli + Tests)
RetroAchievementsSharp/ the hashing engine (class library)
Models/ struct-like callback/state types (C mirrors)
RetroAchievementsSharp.Cli/ the RAHasher-compatible command line
Models/ CLI data models (ConsoleInfo, Game)
RetroAchievementsSharp.Tests/ ported rcheevos vectors + the Tier-2 parity harness
References/ read-only reference material (never shipped):
rcheevos-12.4.0, rcheevos-40d916d, RAHasher-1.8.3,
C oracle binaries (GPL, local test oracles only)
-
HashEngine— the console dispatch tables (FromFile/FromBuffer) and the buffered-file/playlist machinery. -
HashIterator/RcHashIterator— the iterator-based API used for?auto-detection. -
HashRom,HashDisc,HashZip,HashEncrypted,Hash3DS,HashMd5,CdReader,ChdCdReader,RvzFilereader— per-format hashers. -
RcHash— the deprecated single-shot public API (GenerateFromFile/GenerateFromBuffer). -
AesHelper,FileUtil,FileSystemResolver— primitives and helpers.
-
Program— the legacy RAHasher-compatible positional interface and the subcommand dispatch. - Commands:
scan,identify,consoles,checkkeys,fetch-db. - All logging goes through Serilog; Warning+ events are forwarded to the bug report API; usage telemetry is reported at launch (both can be disabled via environment variables — see CLI Usage).
A Tier-2 harness runs RetroAchievementsSharp.Cli.exe and the original C
binaries with identical arguments and requires byte-identical
stdout/stderr and equal exit codes: 90/90 corpus cases green against the
rcheevos 12.4.0-built oracle; 415/415 fast tests + 172/172 slow tests green
on each of net8.0, net9.0, net10.0.