Opened 2 hours ago

#15437 new defect

M4: Detection conflict between M4/MADS engines for Orion Burger (FR)

Reported by: dwatteau Owned by:
Priority: normal Component: Engine: M4
Version: Keywords: detection
Cc: Game: Orion Burger

Description

Current Git HEAD.

This is with the files from my own CD of the French release of Orion Burger (file listing/sums below).

In a --enable-plugins --default-dynamic --enable-engine=m4,mads build, I get the following output from ScummVM, when adding the game:

The game in 'orion-burger-fr' 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, "6db4bb8935c301dad067f38a7e97d7b9", 143233024},

   ^^^^
      note: false positive, DO NOT add it!

and I also observe the attached screenshot, where Orion Burger is suggested along with some MADS titles.

But my files for Orion Burger (French release) do match what's listed in the detection tables:

$ dd if=BURGER.HAS bs=5000 count=1 2>/dev/null | openssl dgst -md5 | awk '{print $NF}'
3887c30f0d2f93fed7549120748c07fd

$ grep -A 8 -B 5 3887c30f0d2f93fed7549120748c07fd ~/git/scummvm/engines/m4/detection_tables.h 
	},
	{
		{
			"burger",
			nullptr,
			AD_ENTRY1s("burger.has", "3887c30f0d2f93fed7549120748c07fd", 724755),
			Common::FR_FRA,
			Common::kPlatformDOS,
			ADGF_TESTING,
			GUIO3(GUIO_NOASPECT, GUIO_NOMUSIC, GUIO_NOSPEECH)
		},
		GType_Burger,
		kFeaturesCD
	},

The game does work if I force it to be recognized as Orion Burger (French). But since there's an exact match, the detection code for MADS shouldn't interfere with M4 (i.e. M4 has an exact match so it should always "win", in my opinion).

The conflict from MADS happens because Orion Burger (M4) has a SECTION1.HAG file, and MADS detection code checks for these files as well:

$ grep -i section ~/git/scummvm/engines/mads/detection_tables.h 
AD_ENTRY1s("section1.hag", "6f725eb38660de8af31ec7cdd628d615", 927222),
AD_ENTRY1s("section1.hag", "d583576923e3437937fb7f46f4b6274f", 927222),
AD_ENTRY1s("section1.hag", "ead7ea63459173c32569feecac608c4f", 192065),
AD_ENTRY1s("section1.hag", "76e2d47a7aebafe48edc9884b3d91782", 1130939),
AD_ENTRY1s("section1.hag", "ad738c8edb139790ebaf78f8ceceb182", 123627),
AD_ENTRY1s("section1.hag", "2770e441d296be5e806194693eebd95a", 2061199),
AD_ENTRY1s("section1.hag", "9587b06eb4f9ee7ed5b19af4643743b0", 328083),
AD_ENTRY1s("section1.hag", "042518994daa7f96f9602e3b7e14a672", 816076),

File listing/sizes/full-MD5-sums for my Orion Burger release:

$ ls -l *.HA?
   724755 Oct  6  1996 BURGER.HAS
  8716288 Oct  6  1996 GLOBAL.HAG
143233024 Oct  6  1996 SECTION1.HAG
 10809344 Oct  6  1996 SECTION2.HAG
 50442240 Oct  6  1996 SECTION3.HAG
 60112896 Oct  6  1996 SECTION4.HAG
 66951168 Oct  6  1996 SECTION5.HAG
 54638592 Oct  6  1996 SECTION6.HAG
 44466176 Oct  6  1996 SECTION7.HAG
 25032704 Oct  6  1996 SECTION8.HAG
 67688448 Oct  6  1996 SECTION9.HAG

$ md5sum *.HA?
ec12dc53d0254f3345f1427592e85a46  BURGER.HAS
398991522cfe505a9ec5c7ac2b1cc0a5  GLOBAL.HAG
2eb6d948eac1001a51c8e597112c399e  SECTION1.HAG
46da8908e36ceb086aeb18e15d12ec53  SECTION2.HAG
f62ba2ef4b2fbcd78d9295d54fad6bea  SECTION3.HAG
a9ed9e14fcd133d72ff5a28fd56eb8a3  SECTION4.HAG
452bce416b00c0132ebc59b35981e889  SECTION5.HAG
c3d0a92429208a6fb2702628475725ca  SECTION6.HAG
96d3fc1056e1ab58ceaacd7f344b2a8b  SECTION7.HAG
662112e3558ac68fd7410f85dd3262d2  SECTION8.HAG
9025868ebbb31e087e718cb113f8e05c  SECTION9.HAG

Attachments (1)

scummvm-orion-burger-fr-mads-m4-detection-conflict.png (25.3 KB ) - added by dwatteau 2 hours ago.
ScummVM display when adding Orion Burger (French): other titles as suggested, although Orion Burger has an exact match

Download all attachments as: .zip

Change History (1)

by dwatteau, 2 hours ago

ScummVM display when adding Orion Burger (French): other titles as suggested, although Orion Burger has an exact match

Note: See TracTickets for help on using tickets.