Difference between revisions of "Reporting unknown MD5 checksums"
(Add SCI detection size and note on default) |
(Updates MacOS manual MD5 instructions) |
||
(9 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
This page contains instructions on what to do if you got a version of a game that the ScummVM team is not aware of (perhaps a rare version, or a less known one, or perhaps an unknown non-English version). In such cases, here's what you can do to get your version supported under ScummVM | This page contains instructions on what to do if you got a version of a game that the ScummVM team is not aware of (perhaps a rare version, or a less known one, or perhaps an unknown non-English version). In such cases, here's what you can do to get your version supported under ScummVM. | ||
==From ScummVM== | |||
{{ManualScreenshot|name=Unknown game dialog.png|desc=Unknown game dialog}} | |||
{{ManualScreenshot|name=Unknown game ticket.png|desc=Unknown game ticket}} | |||
Recent versions of ScummVM will display a dialog when detecting unknown game variants when you try to add a game to ScummVM. From this dialog you may have the option to report the game directly to [https://bugs.scummvm.org our bug tracker]. This will generate automatically the new ticket, but please add the game name, version, and language to the description before submitting the ticket. | |||
The option to report the game is not available on all platforms, and in that case you may want to use the option to copy the detection information to the clipboard instead, and then paste it manually to your report. | |||
As a last resort, if neither the '''Report game''' nor the '''Copy to clipboard''' options are available on your platform, or if you are using an older version of ScummVM, the detection information will also be available in the ScummVM console window and in the ScummVM log file, and you can copy it from there. Check the README on how you can access the console or the log file for your platform. You can also redirect ScummVM's output to a text file, by running ScummVM as follows: | |||
scummvm > file.txt | scummvm > file.txt | ||
If for some reason none of the options above are working, you need to follow an a bit harder process. | |||
==Manually== | |||
The MD5-based detection in ScummVM uses the first bytes of each file to determine its MD5 checksum. This is necessary to speed up the detection process and to avoid having to calculate the MD5 checksums of large files, which would make game detection very slow. | |||
Each engine in ScummVM uses a different number of bytes to calculate their MD5 checksums. | Each engine in ScummVM uses a different number of bytes to calculate their MD5 checksums. | ||
Number of bytes in each engine, to compute an MD5 hash:<br> | Number of bytes in each engine, to compute an MD5 hash:<br> | ||
''[[AGI]], [[AGOS]], [[Cine]], [[Composer]], [[CruisE]], [[Draci]], [[Drascula]], [[Dreamweb]], [[Gob]], [[M4]], [[MADE]], [[Mohawk]], [[Parallaction]], [[SAGA]], [[SCI]], [[TeenAgent]], [[Tinsel]]'' - '''5000''' bytes (default)<br> | ''[[AGI]], [[AGOS]], [[Blade Runner]], [[Cine]], [[Composer]], [[CruisE]], [[Director]], [[Draci]], [[Drascula]], [[Dreamweb]], [[Gob]], [[Groovie]], [[M4]], [[MADE]], [[Mohawk]], [[Parallaction]], [[SAGA]], [[SCI]], [[TeenAgent]], [[Tinsel]]'' - '''5000''' bytes (default)<br> | ||
''[[Lure]]'' - '''1024''' bytes<br> | ''[[Lure]]'' - '''1024''' bytes<br> | ||
''[[Kyra]], [[SCUMM]]'' - '''1024 * 1024''' bytes<br> | ''[[Kyra]], [[SCUMM]]'' - '''1024 * 1024''' bytes<br> | ||
Line 16: | Line 29: | ||
[[Queen]], [[Sky]], [[Sword1]], [[Sword2]] use a different detection. | [[Queen]], [[Sky]], [[Sword1]], [[Sword2]] use a different detection. | ||
To get the correct MD5 checksum, run the following | To get the correct MD5 checksum, run the following | ||
=== Using ScummVM === | |||
Since version 2.6.0, ScummVM can compute and report the md5 of files on the command line. | |||
scummvm --md5 --md5-path=file --md5-engine=engine | |||
Where <code>file</code> is the file to be examined and <code>engine</code> is the engine that would use this file. This will automatically use the size used for detection by the specified engine. The size can also be provided manually using <code>--md5-length=size</code> instead of <code>--md5-engine=engine</code> | |||
For old Mac files with a resource fork, us <code>--md5mac</code> instead of <code>--md5</code>. | |||
===Under *nix=== | |||
head -c size file | md5sum | head -c size file | md5sum | ||
Where <code>file</code> is the file to be examined and <code>size</code> depends on the engine, as described above. | |||
and run it like this: | |||
===Under macOS=== | |||
head -c size file | md5 -r | |||
Where <code>file</code> is the file to be examined and <code>size</code> depends on the engine, as described above. | |||
Alternatively, you can install [https://raamdev.com/2008/howto-install-md5sum-sha1sum-on-mac-os-x/ md5sum] and run the *nix command above. | |||
===Under Windows=== | |||
Download [http://md5deep.sourceforge.net/ md5deep] and run it like this: | |||
md5deep -p size file | find /i "offset 0-" | md5deep -p size file | find /i "offset 0-" | ||
Where | Where <code>file</code> is the file to be examined and <code>size</code> depends on the engine, as described above. | ||
Alternatively, you can download the [http://gnuwin32.sourceforge.net/packages/coreutils.htm gnuwin32 coreutils] and run the *nix command above. You will need <code>head.exe</code>, <code>md5sum.exe</code>, and the two libraries from the dependency package. | |||
==Submitting the MD5 Checksum== | |||
After you get the MD5 sums of the game files, you can report them by using our [ | After you get the MD5 sums of the game files, you can report them by using our [https://bugs.scummvm.org bug tracker]. It is much preferred over a post in the forums. | ||
Also to speedup things, please consider providing directory layout of your game. | Please indicate the game name, version, and language in the report. Also to speedup things, please consider providing directory layout of your game. |
Latest revision as of 00:25, 6 October 2023
This page contains instructions on what to do if you got a version of a game that the ScummVM team is not aware of (perhaps a rare version, or a less known one, or perhaps an unknown non-English version). In such cases, here's what you can do to get your version supported under ScummVM.
From ScummVM
Recent versions of ScummVM will display a dialog when detecting unknown game variants when you try to add a game to ScummVM. From this dialog you may have the option to report the game directly to our bug tracker. This will generate automatically the new ticket, but please add the game name, version, and language to the description before submitting the ticket.
The option to report the game is not available on all platforms, and in that case you may want to use the option to copy the detection information to the clipboard instead, and then paste it manually to your report.
As a last resort, if neither the Report game nor the Copy to clipboard options are available on your platform, or if you are using an older version of ScummVM, the detection information will also be available in the ScummVM console window and in the ScummVM log file, and you can copy it from there. Check the README on how you can access the console or the log file for your platform. You can also redirect ScummVM's output to a text file, by running ScummVM as follows:
scummvm > file.txt
If for some reason none of the options above are working, you need to follow an a bit harder process.
Manually
The MD5-based detection in ScummVM uses the first bytes of each file to determine its MD5 checksum. This is necessary to speed up the detection process and to avoid having to calculate the MD5 checksums of large files, which would make game detection very slow. Each engine in ScummVM uses a different number of bytes to calculate their MD5 checksums.
Number of bytes in each engine, to compute an MD5 hash:
AGI, AGOS, Blade Runner, Cine, Composer, CruisE, Director, Draci, Drascula, Dreamweb, Gob, Groovie, M4, MADE, Mohawk, Parallaction, SAGA, SCI, TeenAgent, Tinsel - 5000 bytes (default)
Lure - 1024 bytes
Kyra, SCUMM - 1024 * 1024 bytes
Touche - 4096 bytes
Tucker - 512 bytes
Queen, Sky, Sword1, Sword2 use a different detection.
To get the correct MD5 checksum, run the following
Using ScummVM
Since version 2.6.0, ScummVM can compute and report the md5 of files on the command line.
scummvm --md5 --md5-path=file --md5-engine=engine
Where file
is the file to be examined and engine
is the engine that would use this file. This will automatically use the size used for detection by the specified engine. The size can also be provided manually using --md5-length=size
instead of --md5-engine=engine
For old Mac files with a resource fork, us --md5mac
instead of --md5
.
Under *nix
head -c size file | md5sum
Where file
is the file to be examined and size
depends on the engine, as described above.
Under macOS
head -c size file | md5 -r
Where file
is the file to be examined and size
depends on the engine, as described above.
Alternatively, you can install md5sum and run the *nix command above.
Under Windows
Download md5deep and run it like this:
md5deep -p size file | find /i "offset 0-"
Where file
is the file to be examined and size
depends on the engine, as described above.
Alternatively, you can download the gnuwin32 coreutils and run the *nix command above. You will need head.exe
, md5sum.exe
, and the two libraries from the dependency package.
Submitting the MD5 Checksum
After you get the MD5 sums of the game files, you can report them by using our bug tracker. It is much preferred over a post in the forums.
Please indicate the game name, version, and language in the report. Also to speedup things, please consider providing directory layout of your game.