TASEmulators / BizHawk

BizHawk is a multi-system emulator written in C#. BizHawk provides nice features for casual gamers such as full screen, and joypad support in addition to full rerecording and debugging tools for all system cores.
http://tasvideos.org/BizHawk.html
Other
2.21k stars 385 forks source link

Hashes in movie headers should not be case-sensitive #3979

Closed RetroEdit closed 2 months ago

RetroEdit commented 3 months ago

Pretty self-explanatory title.

If you manually edit a (.bk2 or .tasproj) movie file to change the game hash in the header but happened to copy in a lower case hash, it will spit out Warning: Movie hash does not match the ROM when you load the movie: https://github.com/TASEmulators/BizHawk/blob/7a8b9b13ffdaae4b23edb253bc8a9baf25cc661e/src/BizHawk.Client.EmuHawk/MainForm.Movie.cs#L66-L69 (Same deal probably applies to firmware hashes and other hashes).

Hashes in general are not case-sensitive and I think BizHawk should either normalize the hashes upon movie load or use case-insensitive comparisons in relevant code.

(Certain movie metadata such as the game hash can't be edited without manually opening it as a .zip file and editing and such editing is useful -- thus it seems reasonable that the movie loading should be resilient to some amount of reasonable variation especially in something like a hash.)

see also #2336