Opened 15 years ago

Closed 15 years ago

#2481 closed defect (fixed)

SCUMM: indy3 VGA not recognized

Reported by: SF/moonknightus Owned by: Kirben
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Indiana Jones 3

Description

I am using the latest Daily Snapshot of ScummVM and while I am certain that this game worked fine on the 0.8.0 release, none of the recent dailies have detected it. When I attempt to add it to the "games" listing, ScummVM responds that it could not find a valid game. I did check the MD5 and it matches the official one listed on the MD5 database. If I manually edit the "scummmvm.ini" file and add the game to the list, it plays just fine.

Ticket imported from: #1420715. Ticket imported from: bugs/2481.

Change History (13)

comment:1 by eriktorbjorn, 15 years ago

Strange. My English Indy 3 VGA is recognized by both ScummVM 0.8.0 and 0.8.1.

comment:2 by SF/moonknightus, 15 years ago

Once again, I am using the latest Daily Snapshot. The 0.8.x series works fine. The 0.9.0 CVS builds do not detect indy3 (Indiana Jones and the Last Crusade).

comment:3 by eriktorbjorn, 15 years ago

Sorry, I completely misread. Yeah, I can reproduce that.

comment:4 by eriktorbjorn, 15 years ago

As far as I can tell, when scanning for the game "indy3" it correctly determines that looking for 00.lfl may be a good idea. The file is found, and it enters the "buf[4] == '0' && buf[5] == 'R'" case, identifying the file as belonging to a "newer V3 game".

Then it's rejected, because "indy3" is defined as having the GF_OLD_BUNDLE flag.

Fingolfin, this looks like something you would know more about than I do. Any ideas?

comment:5 by eriktorbjorn, 15 years ago

Owner: set to fingolfin

comment:6 by fingolfin, 15 years ago

<sigh> Yeah the problem here is that we now have reduced the number of targets, so the version etc. info in the GameSettings struct is not anymore accurate, nor are the feature flags. I'll take a look.

comment:7 by Kirben, 15 years ago

Currently indy3 (FM-TOWNS/VGA), loom (FM-TOWNS) and zak (FM- TOWNS) would be broken.

According to the cvs logs, this game detection code was meant to help detect game, if md5 is disabled or md5 is not known, but this code is before the md5 detection. Or was the code added in this place for testing only?

Unfortunately this code was included in the last two ScummVM releases too.

comment:8 by fingolfin, 15 years ago

Kirben, I thought the issue was specific to HEAD (which corresponds to what I see here), so why is it unfortunate that the code was in 0.8.0 / 0.8.1 ?

Anyway, yeah, the current detection system is quite flawed. I have an improved algorithm/system in my head in will soon either write it down or implement it, shouldn't be too hard, mostly some rearranging / refactoring is needed.

comment:9 by Kirben, 15 years ago

Yes, the bugs are specific to ScummVM 0.9.0 cvs.

This particular game detection code seems to be for testing of future methods only though, so shouldn't have been left in the release builds.

comment:10 by fingolfin, 15 years ago

Summary: indy3 VGA not recognizedSCUMM: indy3 VGA not recognized

comment:11 by fingolfin, 15 years ago

See also <http://wiki.scummvm.org/index.php/Auto_detection>.

BTW, I think it's great that the code was so good that it managed to slip through all our release testings, and didn't cause a single bug report since 0.8.0 :-).

comment:12 by Kirben, 15 years ago

Owner: changed from fingolfin to Kirben
Resolution: fixed
Status: newclosed

comment:13 by Kirben, 15 years ago

Closing, as I added fix to ScummVM cvs awhile ago, by just removing the GF_OLD_BUNDLE check at that point.

Other general issues with game detection are better listed under bug #1405794.

Note: See TracTickets for help on using tickets.