Opened 21 months ago
Last modified 12 months ago
#14159 new defect
GRIM: MD5 dialog can’t be cancelled
Reported by: | ccawley2011 | Owned by: | |
---|---|---|---|
Priority: | high | Component: | Engine: Grim |
Version: | Keywords: | ||
Cc: | Game: |
Description
The MD5 dialog in Grim doesn’t have a cancel button, so it’s necessary to wait until all files are checked before ScummVM can be interacted with. It also doesn’t appear to poll for events, which means that on a cooperatively multitasked operating system like RISC OS it’s not possible to interact with anything outside of ScummVM either.
Change History (3)
comment:1 by , 13 months ago
comment:3 by , 12 months ago
Grim intentionally checks the entire file of all the files, as we had a lot of issues with bugs filed from scratched CDs. That said, we should fix the UX issues here.
Note:
See TracTickets
for help on using tickets.
Hi ScummVM Team,
I was looking at this bug to see if I can contribute a patch to improve it and I discovered that one of the reasons the md5 detection code for the GRIM engine is slow is that it's doing an md5 checksum of the full file (all bytes).
However,
It seems like somewhere Grim is supposed to check only 5k bytes per this function:
./scummvm --md5 --md5-path=<file> --md5-engine=grim
Notice the output says:
VOX0001.LAB: <hash> (first 5000 bytes), <size> bytes
Since Grim has a lot of files with some being quite large to check for it might be good to modify this related code to cap all md5 checks at 5k bytes to speed up this process for end users.
I'm not sure why there's an inconsistency here but there is a potential for this md5 integrity check code to be much faster.