Opened 3 months ago

Last modified 8 weeks ago

#14875 new defect

COMMON: Fallback detection of games happen even when there are exact matches

Reported by: eriktorbjorn Owned by:
Priority: normal Component: Common
Version: Keywords:
Cc: Game:

Description (last modified by eriktorbjorn)

I don't know if this is a bug or a feature, though obviously I think it's a bug. When I try to add my copy of Orion Burger, I'm giving the following list of candidates:

  • Orion Burger (DOS/English)
  • Rex Nebular and the Cosmic Gender Bender (DOS/English) - Unknown variant
  • Return of the Phantom (DOS/English) - Unknown variant
  • Dragonsphere (DOS/English) - Unknown variant
  • Once Upon a Forest (DOS/English) - Unknown variant

And the following console message:

The game in 'orionburger' seems to be an unknown game variant.

Please report the following data to the ScummVM team at
https://bugs.scummvm.org/ along with the name of the game you tried to add and
its version, language, etc.:

Matched game IDs for the mads engine: nebular, phantom, dragonsphere, forest

  {"section1.hag", 0, "44773745949eee88762da4832dfb2517", 142360576},

However, the detection entry for Orion Burger does match my version perfectly. There shouldn't be any need for fallback detection.

If I understand detection correctly, ScummVM will call detectGames() once for every engine. It will first look for exact matches, remove any pirated version it finds, and finally - if there are no exact matches - it will do fallback detection.

But when it checks if there are any known games found, that's only the known games for that engine, not the games it has found for other engines so far. Which seems sub-optimal to me.

Change History (3)

comment:1 by eriktorbjorn, 3 months ago

Description: modified (diff)

in reply to:  1 comment:2 by AlessioR, 3 months ago

Replying to eriktorbjorn:

--- MY BAD, I WAS MISSING "HAS" FILE! ---

Hi,
same here with 10bafbe1 on Win10, but orion burger is not on the list anymore.

Last edited 3 months ago by AlessioR (previous) (diff)

comment:3 by criezy, 8 weeks ago

However, the detection entry for Orion Burger does match my version perfectly. There shouldn't be any need for fallback detection.
If I understand detection correctly, ScummVM will call detectGames() once for every engine. It will first look for exact matches, remove any pirated version it finds, and finally - if there are no exact matches - it will do fallback detection.
But when it checks if there are any known games found, that's only the known games for that engine, not the games it has found for other engines so far. Which seems sub-optimal to me.

This is indeed a known issue.
See https://github.com/scummvm/scummvm/pull/1493 that was an attempt to fix it and the discussion that explains the possible caveats and why that particular attempt was not merged.

Note: See TracTickets for help on using tickets.