#4389 closed defect (fixed)
DETECTOR: Atlantis CD sets wrong gui options
Reported by: | salty-horse | Owned by: | Kirben |
---|---|---|---|
Priority: | blocker | Component: | Engine: SCUMM |
Version: | Keywords: | detection | |
Cc: | Game: | Indiana Jones 4 |
Description
Using latest r42333.
When detecting the Fate of Atlantis CD version, the game options that are set to it are those of the floppy version: sndNoSpeech. It should have no restrictions.
Here's what I discovered:
The detected MD5Table struct entry for the game has "CD" in the "extra" field (which scumm-md5.txt calls the "Description" field). According to the comment in scumm-md5.txt, that field is used to distinguish between variants.
The game has two variants:
{"atlantis", 0, 0, GID_INDY4, 5, 0, MDT_ADLIB | MDT_MIDI, 0, UNK, GUIO_NOSPEECH}, {"atlantis", "CD" , 0, GID_INDY4, 5, 0, MDT_ADLIB | MDT_MIDI, 0, UNK, GUIO_NONE},
The distinguishing data between the two is the "variant" field of the GameSettings struct. The comment in engines/scumm/detection.h says 'it matches the "extra" data in scumm-md5.txt'.
The computeGameSettingsFromMD5() function, which should select the correct variant entry for the game, completely ignores MD5Entry's "extra" field.
It *does* compare MD5Entry's "variant" field with the "variant" field of GameSettings, but since the "variant" field of all md5 entries for atlantis is "", it will always select the first variant, which is the floppy version of the game.
Perhaps the "extra" information needs to be compared against too, now that ScummVM cares about features such as speech availability. Another alternative is to merge that extra information into the "variant" field.
In any case, the field descriptions in scumm-md5.txt should match the "generated" struct field names.
Ticket imported from: #2819628. Ticket imported from: bugs/4389.
Change History (4)
comment:1 by , 15 years ago
comment:2 by , 15 years ago
Priority: | normal → blocker |
---|
comment:3 by , 15 years ago
Fixed in ScummVM SVN, the variant field just needed to be updated for several games.
comment:4 by , 15 years ago
Component: | → Engine: SCUMM |
---|---|
Game: | → Indiana Jones 4 |
Owner: | set to |
Resolution: | → fixed |
Status: | new → closed |
Raising priority. This is a release-critical bug.