Difference between revisions of "Reporting unknown MD5 checksums"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Mentioned directory list)
(Updates MacOS manual MD5 instructions)
 
(13 intermediate revisions by 6 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.


To get the MD5 sums:
==From ScummVM==
* The easiest way would be to check the ScummVM console window, which will report the unknown MD5s you got. If you can't see the console window, you can redirect ScummVM's output to a text file, by running ScummVM as follows:
 
{{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 you can not see ScummVM's window or do not get any output in the text file, you need to follow an a bit harder process. 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.
 
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]], [[Gob]], [[M4]], [[MADE]], [[Mohawk]], [[Parallaction]], [[SAGA]], [[TeenAgent]], [[Tinsel]]'' - '''5000''' bytes<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


'''Under *nix:'''
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


'''Under Windows''', download [http://md5deep.sourceforge.net/ md5deep]
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:
 
   md5deep -p size file | find /i "offset 0-size"
===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-"
 
Where <code>file</code> is the file to be examined and <code>size</code> depends on the engine, as described above.


Where ''size'' 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.


Alternatively, you can download the [http://gnuwin32.sourceforge.net/packages/coreutils.htm 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 [http://sourceforge.net/tracker/?group_id=37116&atid=418820 bug tracker]. It is much preferred over a post in the forums.
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

Unknown game dialog
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 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.