Vivecraft

Vivecraft

5M Downloads

Vivecraft overrides GUI scale set by other mods

caoimhebyrne opened this issue ยท 13 comments

commented

At the moment, Vivecraft overrides the vanilla GUI scale of the Window. This causes incompatibilities with mods like ours, Essential, which would like to chose a GUI scale that fits the content best at the current resolution.

The user can change the Settings > VR Settings > HUD and GUI Settings > VR GUI Scale setting to anything other than Auto or 3 to fix this issue, but I think it would be better to stop overriding the GUI scale, so our changes (and probably other mods too) to the vanilla GUI scale can take effect.

This is what Vivecraft and Essential looks like at the moment:

2024-04-03_12 37 37 2024-04-03_12 37 53

And here is what the Wardrobe is supposed to look like, as you can see, the entire right side of it is missing with Vivecraft (the second image in the table above is the Wardrobe with Vivecraft):

image

commented

eh, we override the gui scale, to make guis easier to use in vr

I'm aware of that, but you do it in a way that breaks compatibility with other mods. We reset the scaleFactor to the amount that it was at before we opened our GUI when closing it to be as compatible as possible (mostly intended for user-settings, but in this case will reflect other mods changes if they do it correctly).

Couldn't you just call setScaleFactor when entering VR mode to make GUIs that don't set the scale factor render at your increased size, and then set it back to the default value when exiting VR mode? (or something along those lines)

commented

if that is something that should work, with the vanilla guiscale set to auto, I can look into it

commented

eh, we override the gui scale, to make guis easier to use in vr, since pointing at small buttons is a pain. If mods don't work at default mincraft scale that is on them imo, but we do have the setting to change it, uf the user wants to.

commented

hm, I can look into that

commented

Thanks!

commented

That won't work because it will get saved like that if you don't exit VR before closing the game.

commented

Hey @Techjar @fayer3, any updates on this?

commented

haven't looked into it yet

commented

so I looked into this, and I don't really see a way to fix this.
I thought about checking what gui scale is active, and what is set in the options, but you are changing the option one, so that doesn't work.

and calling setScaleFactor will not work, that will still break when toggling VR on one of your screens

commented

I could store the gui scale that gets saved to file, but that breaks with sodium, because that updates gui scale first, and then saves the settings. so couldn't detect if it's a mod changing stuff, or just the user setting the sodium setting

commented

I could maybe check the the gui scale before and after a screen got set

commented

@caoimhebyrne here that should fix it I think, if you could confirm it.
There are some edge cases, where the guiscale gets still set wrong, but when not toggling vr on those screen, it should be fine.

vivecraft-1.20.4-1.1.11-essentialguifix-fabric.jar.zip

commented

Hey @fayer3, thanks for taking a look at this ๐Ÿ™‚
I'll test that build soon and get back to you on whether it works as expected or not.