Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Display proper GM version in the window title #929

Closed
Archie-osu opened this issue May 24, 2022 · 14 comments
Closed

Display proper GM version in the window title #929

Archie-osu opened this issue May 24, 2022 · 14 comments
Labels
enhancement New feature or request

Comments

@Archie-osu
Copy link
Contributor

Which component should be improved?

UI/UX

Describe your feature suggestion in more detail

Currently, even the latest DELTARUNE Chapter 2 builds show up as GMS 2.0.0.0 - I understand this is the version that UMT reads directly from the data.win, but given we can identify if a game uses 2022.x accurately, it should in my opinion be displayed instead.

Even if we can't identify all of the versions separately (as maybe the WAD format didn't change), the window title should include at least an approximation of what the version might be (think GM2022.3+).

@Archie-osu Archie-osu added the enhancement New feature or request label May 24, 2022
@Miepee
Copy link
Contributor

Miepee commented May 26, 2022

Personally think that the approximate version should be shown in General Info (or in a another new tab?) rather than the title along with all the other extra stuff that currently isn't shown like ShortCircuit or UseQoiFormat.
Is there any reason why the GMS version and bytecode are shown in the title to begin with? Easier help for people posting screenshots I assume?

@Archie-osu
Copy link
Contributor Author

In my opinion, the data.win version is less useful than the approximation - the approximation being in the window title would help with easily spotting which GM versions the tool's having issues with.

I like your idea of showing the hidden variables in a separate tab, and personally think the (now not-updated) data.win version should be moved there.

@Miepee
Copy link
Contributor

Miepee commented May 26, 2022

being in the window title would help with easily spotting which GM versions the tool's having issues with.

Well, if a game fails to load, then the window title won't even get a chance to update. If a game fails to save or other errors occur, then I don't think its that hard to ask for people to send what the variable is by looking at a certain tab.
Alternatively, maybe put in a "copy troubleshoot information" button somewhere? Have seen some programs do that.

personally think the (now not-updated) data.win version should be moved there.

The general info, options and language areas are all sorted by their respective chunks. Moving the version which is part of GEN8 out of the area that displays GEN8 info is not good UX.

I also think that this:
image

Is much cleaner than this:
image

@Archie-osu
Copy link
Contributor Author

Archie-osu commented May 26, 2022

The general info, options and language areas are all sorted by their respective chunks

Why is this even the case? The tool doesn't allow these values to be edited, and as far as I know no-one has ever actually used them.
To alter their values, you'd have to use the console, at which point you don't even need the UI and can just use UMTLib itself.

@Miepee
Copy link
Contributor

Miepee commented May 26, 2022

The tool does allow all of the values to be edited (except for language, that one needs to be edited via lib).
Reason why they're grouped together is probably convenience and ease of use.

@JohnnyonFlame
Copy link
Contributor

In my opinion, the data.win version is less useful than the approximation - the approximation being in the window title would help with easily spotting which GM versions the tool's having issues with.

I like your idea of showing the hidden variables in a separate tab, and personally think the (now not-updated) data.win version should be moved there.

My experience is that past GMS1.x that number only serves to confuse people. I have a script around that uses the fields in Data to tell the user what the approximate version is, and it's seeing a lot of use by the people testing titles on the yoyoloader compatibility list, so I'm upvoting Archie here.

@Miepee
Copy link
Contributor

Miepee commented May 26, 2022

When looking at the window title or the general info?
I'd personally would like to have the field in the general info as-is, but with some sort of notice to the user that YYG stopped updating that number past gms2 on a gms2+ data file.

@Archie-osu
Copy link
Contributor Author

with some sort of notice to the user that YYG stopped updating that number

This would be the worst UX imaginable. Someone could miss that notice, and then when asking for help be adamant their version is different from what it actually is.

@Jacky720
Copy link
Contributor

Someone could miss that notice, and then when asking for help be adamant their version is different from what it actually is.

Most users aren't looking at the general info tab to get their game's version. I assume the general info would have the warning and the window title would just have the more accurate version.

Relevant files for changing the title:

  • MainWindow.xaml#L15: The actual title.
  • UndertaleGeneralInfo.cs#L468: The part of the title that makes everybody's favorite 2.0.0.0.
  • UndertaleData.cs: Since the flags for versions past 2.0 are all stored in the UndertaleData rather than the GeneralInfo, we could add a ToString that returns the highest flag or GeneralInfo.

@Miepee
Copy link
Contributor

Miepee commented May 26, 2022

I assume the general info would have the warning

Yeah, meant this if it wasn't clear. Just have big red text under the 2.0.0.0 version box saying a warning for that.

Since the flags for versions past 2.0 are all stored in the UndertaleData rather than the GeneralInfo

Why are they stored in UndertaleData to begin with? Wouldn't it be better to move them to GeneralInfo and make them an Enum, so that it isn't possible to do i.e. GMS2022_1 = true; GMS2022_3 = true;?

@Miepee
Copy link
Contributor

Miepee commented May 26, 2022

Also sending as a separate message so it's easier to gather feedback via reactions:
Thoughts on just omitting the version + BC from the title bar all-together (akin to this)? IIRC the average user doesn't know what to do with that info anyway and for any help we need we can just tell users to send a screenshot from GeneralInfo if needed.
image

@Archie-osu
Copy link
Contributor Author

Also sending as a separate message so it's easier to gather feedback via reactions: Thoughts on just omitting the version + BC from the title bar all-together (akin to this)? IIRC the average user doesn't know what to do with that info anyway and for any help we need we can just tell users to send a screenshot from GeneralInfo if needed. image

Omitting the version literally goes against the purpose of this issue. Not relevant.

@Jacky720
Copy link
Contributor

Why are they stored in UndertaleData to begin with? Wouldn't it be better to move them to GeneralInfo and make them an Enum, so that it isn't possible to do i.e. GMS2022_1 = true; GMS2022_3 = true;?

They're stored in the Data because GeneralInfo corresponds to an actual chunk, and the 2.2+ flags aren't stored in GeneralInfo. They're deduced from the way the file is parsed.

An Enum could work. Just as long as they're in the right order.

@Miepee
Copy link
Contributor

Miepee commented May 26, 2022

They're stored in the Data because GeneralInfo corresponds to an actual chunk, and the 2.2+ flags aren't stored in GeneralInfo. They're deduced from the way the file is parsed.

There are several instances where variables are put into the chunk / Model that makes the most sense, but aren't actually part of the data file and instead an UMT-exclusive variable.
UndertaleRoom currently is the one with the most documented of them, but I'm pretty sure others have it too.

This was referenced Jul 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants