Skip to content

Conversation

@Aurumaker72
Copy link
Collaborator

Summary

This PR adds support for the new (1.1.9+) extended format.

Previously, opening extended format movies would crash due to the round-trip check failing:

if (!Enumerable.SequenceEqual(bytes, ToBytes())) throw new ArgumentOutOfRangeException();

This has been resolved by adding the new required fields.

Caveats

Version-specific table entries (e.g. Authorship Tag) are always visible, even if the movie's extended version dictates those variables invalid. This is not an issue for Mupen, as it handles that case, but can still be confusing at a UX level.

Since the now-unused regions aren't serialized, this process will have to be repeated again when the next format update happens.

Copy link
Owner

@FramePerfection FramePerfection left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For what it is, it fixes a compatibility issue ad hoc.

I'm not happy with it, but that stems from the nature of the entire tab that this class is a part of. It either needs a fundamental redesign, including a from-the-ground-up reimplementation, or should just be purged from STROOP entirely in the long run.
Either way, that's not within the scope of this """fix""".

@FramePerfection FramePerfection merged commit f5c4501 into Development Jan 19, 2025
@FramePerfection FramePerfection deleted the feat/extended-format-m64-support branch January 19, 2025 00:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants