BizHawk icon indicating copy to clipboard operation
BizHawk copied to clipboard

Give a warning pop-up when opening a .bk2 with a different ROM

Open ThunderAxe31 opened this issue 5 years ago • 7 comments

When you open a .bk2 movie, BizHawk compares the ROM hash with the one stored in the Header.txt of the .bk2 file. If they don't match, a hud warning message appears for a moment in the lower left: "Warning: Movie hash does not match the ROM". The issue is that, unless you go through the Play Movie dialog, this message is very easy to miss due to its short duration and the presence of other messages at the same time. My request is to have a warning pop-up window for this specific event, so that it can't possibly be missed by the user.

ThunderAxe31 avatar Aug 24 '20 18:08 ThunderAxe31

Yeah, this should probably be more high-profile. TAS movies are probably the most common use for the movies feature, and accidentally missing that information when trying to playback a TAS movie is annoying (really, missing that information for any movie is probably annoying, since it could potentially affect sync).

RetroEdit avatar Aug 24 '20 18:08 RetroEdit

Unfortunately, this is unlikely to happen soon, because adelikat considers hashes being broken for certain movies a blocker for implementing this. See #2336. The concern here is that in certain cases, the hash warning is wrong, so having a pop-up is considered too hostile to the user.

RetroEdit avatar Aug 29 '20 19:08 RetroEdit

As of 2024, we should elevate the priority of this.

Consider this: we show a full dialog box when CycleCount doesn't match! CycleCount is purely informational, and doesn't affect functionality whatsoever.

By contrast this is actually an important warning, but it's so easy to miss. I missed it just now when trying to play back a movie and it wasted my time.

If we're concerned about systems where hashes don't match, we can fix the underlying problem, instead of hiding information. If we're extremely concerned, we can caveat the message by adding a line afterwards In certain cases the movie hash may not match the ROM because of how hash calculation currently works. I'll try and submit a patch myself soon.

RetroEdit avatar Aug 19 '24 18:08 RetroEdit

It should always go through the Play Movie dialog, problem solved.

https://gitlab.com/YoshiRulz/yoshis-hawk-thoughts/-/issues/69

YoshiRulz avatar Aug 20 '24 06:08 YoshiRulz

It should always go through the Play Movie dialog, problem solved.

Drag'n'drop exists for a reason.

vadosnaprimer avatar Aug 20 '24 16:08 vadosnaprimer

Thought about Yoshi's comment a bit and about what I want as a user and here's what I think: both drag+drop and Recent movies should display an info screen akin to the Play movie screen when loaded, but have a checkbox Show movie info on load that can be unchecked. This resolves the visibility of the hash mismatch and also encompasses other potential movie issues like a movie made in an old version.

See also: #3735 bullet point 3, although to be clear, I think editing has different considerations than viewing movie info (there's a decent argument to disable it for safety and just tell power users to edit the bk2 as a zip archive).

RetroEdit avatar Aug 20 '24 16:08 RetroEdit

I support making this OSD message into a warning message box and fixing all erroneous hash mismatches.

Morilli avatar Aug 26 '24 00:08 Morilli

I stand by my opinion that drag+drop should go via the Play Movie dialog, but that will have to wait for the next release. Morilli already increased the duration of the OSD message in time for 2.10.

YoshiRulz avatar Nov 27 '24 18:11 YoshiRulz

If I'm already dropping the right rom (99.999999999% of use cases), I'm sure it's what I want, and I don't need a dialog every time asking me if I maybe want something different. It needs to be quick and efficient for users who do this a lot with lots of different games and movies (tasvideos staff).

If someone wants to be asked every single time whether they really want to load the thing they're loading, it should be an option. But there's a problem with that. If you ask the user a repeated mostly useless question many times, that question becomes noise and their brain filters it out, so even if there's some passive info about a mismatch (if they managed to hit their 0.000000001% chance of wrong rom), they will likely not even notice the problem until it's already loaded.

So yes if there's a hash in the movie and it exists in our DB for this system, it's trivial to only warn when it mismatches, and I don't mind if the warning is more explicit, because it only happens with 0.000000001% regularity.

vadosnaprimer avatar Nov 27 '24 18:11 vadosnaprimer