Opened 15 years ago

Closed 15 years ago

Last modified 13 years ago

#1983 closed patch (fixed)

Multiple disk fix for Mythgame

Reported by: ATSantema@… Owned by: greg
Priority: minor Milestone: 0.19.1
Component: mythgame Version: 0.19
Severity: high Keywords: mythgame spandisk amiga multiple disks e-uae
Cc: Ticket locked: no


For games that consist of multiple disks (other than xmame zipfiles), Mythgame does not exlicitly select the first disk (rom) from the database, but picks the first in the set disks (roms) that is returned by the database for that gamename and system. As only the first disk (rom) in the database gets updated with the correct diskcount, chances are that the diskcount will be 1 instead of the correct number. If this happens, the arguments passed to the emulator will be wrong (the first disk of the set returned by the database being specified as disk 1 while the other disks are ignored because the returned diskcount for that disk is 1).

This bug is easily fixed by adding a ORDER BY to the SQL that retrieves the disks. You can either order by romname (ASC) or diskcount (DESC). I opted for the last one in case somebody ever decides diskcount should only be updated for the last disk (you never know). The patch adds " ORDER BY diskcount DESC" in rominfo.cpp

I have only come across this bug while using the AMIGA emulator (e-uae), but logic would seem to suggest other disk based games will have the same problem. The patch shouldn't affect other games anyways, but please test. My xmame games still work fine :)

Attachments (1)

mythgame-spandisk.patch (439 bytes) - added by ATSantema 15 years ago.

Download all attachments as: .zip

Change History (2)

Changed 15 years ago by ATSantema

Attachment: mythgame-spandisk.patch added


comment:1 Changed 15 years ago by greg

Resolution: fixed
Status: newclosed

(In [10460])

This closes #1983 by applying the supplied patch. This fixes multi disk games if the wrong one is returned from the

database first.

Note: See TracTickets for help on using tickets.