Skip to content

πŸš€ v1.2.0 β€” The "RetroAchievements" Update

Choose a tag to compare

@AverageConsumer AverageConsumer released this 27 Feb 22:26
· 84 commits to main since this release

RetroAchievements integration with hash verification, achievement tracking, and per-game progress β€” plus 1,209 tests.

Highlights

  • RetroAchievements integration β€” Connect your RA account to track achievements, verify ROMs via hash matching, and view per-game progress directly in R-Shop.
  • Achievements screen β€” Dedicated viewer with earned/locked badges, points, progress bar, mastery status, and full D-pad navigation.
  • RA badges on game cards β€” Achievement count and match type (gold for name match, green for hash verified) displayed on every card; mastery outline when fully completed.
  • Post-download hash verification β€” Downloaded ROMs are automatically hashed and matched against the RA database in the background.

Change Log

Added:

  • RetroAchievements integration β€” connect your RA account to track achievements, verify ROMs via hash matching, and view per-game progress.
  • Achievements screen β€” dedicated viewer with earned/locked badges, points, progress bar, mastery status, and full D-pad navigation.
  • RA onboarding step β€” optional setup during first-run wizard with connection test and skip option.
  • RA config screen β€” manage credentials (encrypted via SecureStorage) from Settings with connection testing.
  • Post-download hash verification β€” downloaded ROMs are automatically hashed and matched against the RA database in the background.
  • RA sync service β€” 3-phase background sync (catalog fetch β†’ name matching β†’ hash verification) with 24h freshness cache and cancellation support.
  • RA badges on game cards β€” achievement count and match type (gold/green) on every card; mastery outline when fully completed.
  • Add-to-queue toast β€” animated bottom-right notification when a game is added to the download queue.
  • Hide empty consoles β€” new toggle in Settings β†’ Preferences to hide systems with no games from the home screen.

Improved:

  • Sync badge β€” now shows dual pills for library sync (cyan) and RA sync (gold) with independent progress tracking.
  • Game detail screen β€” RA info section below metadata showing match status, progress bar, and "View Achievements" button; quick menu gains "Achievements" option.
  • Download overlay β€” visual refinements and better state display.
  • SystemModel β€” 15+ systems now carry RA console IDs (NES, SNES, N64, GB, GBC, GBA, Mega Drive, SMS, Game Gear, 32X, Atari 2600/7800, Lynx, NDS).
  • Library screen β€” deduplication of installed entries when same game exists in multiple formats.
  • Cover preload service β€” improved reliability and error handling.

Internal:

  • Database schema v7 β€” new tables: ra_games (catalog cache), ra_hashes (hash index), ra_matches (match results).
  • Hash computation for 10+ systems: simple MD5, NES (iNES header strip), SNES (copier header), NDS (multi-section), Lynx, Atari 7800.
  • RaNameMatcher with 4-tier fallback: exact β†’ contains β†’ No-Intro filename β†’ fuzzy (Levenshtein).
  • New providers: raGameProgressProvider, raRefreshSignalProvider, raMatchResultProvider, raSyncServiceProvider.
  • 1,209 tests (up from 1,069) β€” new suites: RA hash service, RA models, RA name matcher, expanded database and onboarding tests.