Skip to content

fix: RetroAchievements identification for custom Paks and multi-system emulators#775

Open
apommel wants to merge 1 commit into
LoveRetro:mainfrom
apommel:ra-console-autodetect
Open

fix: RetroAchievements identification for custom Paks and multi-system emulators#775
apommel wants to merge 1 commit into
LoveRetro:mainfrom
apommel:ra-console-autodetect

Conversation

@apommel

@apommel apommel commented Jul 12, 2026

Copy link
Copy Markdown

Currently, the RetroAchievements integration relies on a mapping of the NextUI emulator tags (in ra_consoles.h) to identify the running console and then the game. If the console is not detected, the integration stops the identification. There are a few cases in which this approach can cause issues:

  • When running a libretro core from a Pak with a custom tag (which would not be listed in the header), it will not be identified.
  • When running an emulator that supports different consoles, the emulator tag will not allow to map to a console 1 to 1.

At the same time, rcheevos is able to auto-detect the console from the game when using the console ID RC_CONSOLE_UNKNOWN.

This PR improves the detection logic. It maintains the console mapping by emulator, preserving the existing behaviour. However, when the console cannot be detected from the mapping, the detection will not fail directly and will instead be handled by rcheevos by passing RC_CONSOLE_UNKNOWN.

Because of this, the RA_initMemoryRegionscall was moved from ra_do_load_game to ra_game_loaded_callback. There was a comment saying that the memory regions must be initialized before loading the game, but as far as I could test, this is not the case.

@apommel apommel changed the title Fix RetroAchievements identification for custom Paks and multi-system emulators fix: RetroAchievements identification for custom Paks and multi-system emulators Jul 12, 2026
@frysee

frysee commented Jul 12, 2026

Copy link
Copy Markdown
Member

Looks good to me, what do you think @clintonium-119?

@clintonium-119

Copy link
Copy Markdown

LGTM 💯

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants