Give a warning pop-up when opening a .bk2 with a different ROM
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.
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).
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.
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.
It should always go through the Play Movie dialog, problem solved.
https://gitlab.com/YoshiRulz/yoshis-hawk-thoughts/-/issues/69
It should always go through the Play Movie dialog, problem solved.
Drag'n'drop exists for a reason.
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).
I support making this OSD message into a warning message box and fixing all erroneous hash mismatches.
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.
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.