Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
129 stars 2 forks source link

Unity Standalone Player Command Line Arguments Only Effect Full-screen Resolution, even with -screen-fullscreen 0 #2580

Open FlameSoulis opened 1 month ago

FlameSoulis commented 1 month ago

Describe the bug?

As per the Unity Standalone Player command line arguments section on the wiki, if you use the -screen-fullscreen 0 -screen-width 1280 -screen-height 720 arguments, it should launch Resonite in a 1280x720 window. However, since the changes to the graphical settings, this only affects the full-screen resolution parameters, and the windowed resolution will remain untouched.

To Reproduce

  1. Add -screen-fullscreen 0 -screen-width 1280 -screen-height 720 to the launch options of Resonite.
  2. Launch Resonite.
  3. Resonite will launch in windowed mode, but will not be at 1280x720 resolution.
  4. Open Graphics settings and notice the full-screen resolution is set to 1280x720, but not the windowed resolution.

Expected behavior

  1. Add -screen-fullscreen 0 -screen-width 1280 -screen-height 720 to the launch options of Resonite.
  2. Launch Resonite.
  3. Resonite will launch in windowed mode, and will respect the 1280x720 resolution request for windowed mode (the requested mode on launch).
  4. Open Graphics settings and notice the full-screen resolution is left untouched, but the windowed resolution is set to 1280x720.

Screenshots

image image

Resonite Version Number

2024.7.12.1147

What Platforms does this occur on?

Windows

What headset if any do you use?

Valve Index, Quest Pro

Log Files

DEMONDOGGO-PC - 2024.7.12.1147 - 2024-07-14 22_56_21.log

Additional Context

This might require some tinkering, due to the fact the windowed resolution and full-screen resolution parameters are controllable via one set of arguments, dependant on -screen-fullscreen's result. Perhaps a new set of parameters are needed (window-width/height)?

Reporters

Flame Soulis (flamesoulis)

shiftyscales commented 1 month ago

Given our intent at dropping Unity entirely, and that these properties are now controlled by Resonite settings, I think the better option would be to deprecate / remove support for the existing commands, and possibly replace them with ones that instead tie into / set those settings instead if we intend to continue use of these commands. Otherwise- it's better that users just set their desired resolution / fullscreen state in Resonite itself.

Is there any specific reason why you don't want to use the in-app settings / why you're requesting being able to set it externally in the first place?

Also- from what I tested, it seemed that none of the commands currently work though, @FlameSoulis? Your post seems to suggest that some of the commands do work. Are you sure that's the case?

FlameSoulis commented 1 month ago

It's not that I don't want to use the in-app settings. The problem is the product itself: Resonite is still a work in progress, and I've had my settings file be ignored or reset due to issues in the system. This then launches the game into full screen, and the default action seems to have the window settings mirror that of the monitor's resolution. As a result, there are times I have to keep going to those settings and setting them back to 1280x720.

As for the full screen parameters, by default, Resonite seems to use either the monitor resolution of 1920x1080 (I forget which, and resetting my settings to test it is something I'm not quite willing to do at this time). So, when the full screen resolution parameters become the 1280x720, a resolution I don't use at all in full screen for any application or even my own monitors (they're 1440p), I could only guess that the parameters seem to be being fed to the full screen parameters.

shiftyscales commented 1 month ago

I've had my settings file be ignored or reset due to issues in the system

Are you able to isolate when and how this occurs, @FlameSoulis? It would be good to tackle those issues separately.

Even on a fresh database, my values persist. I believe this is because they are also stored in the registry at HKEY_CURRENT_USER\Software\Yellow Dog Man Studios\Resonite.

Are you changing hardware / cleaning those registry entries or doing anything else of the sort that could cause those values to be lost?

I deleted the Yellow Dog Man Studios key, and as-expected, the resolution was reset, but upon re-setting those settings, those keys were properly generated again, and persisted.