Opened 13 months ago

Last modified 3 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:


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 deckarep, 4 months ago

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).


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.

comment:2 by sev-, 3 months ago

Would be nice to get fixed before 2.8.0 release

comment:3 by somaen, 3 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.