The new topbar calls GuiService.SetGlobalGuiInset to offset the GUI space by 36 pixels on the Y axis. Despite having a viewport position of [tt]0,36[/tt], ScreenGui.AbsolutePosition still reports a position of [tt]0,0[/tt]. This is problematic for two reasons:
[ul]
[li]It has always been assumed that GUI coordinates are based off the viewport. Because this has been changed, users are now seeing GUI positions being unexpectedly offset (e.g. gun crosshairs are offset from the actual mouse position).[/li]
[li]It is impossible to reliably convert between the viewport space and this new GUI space. The difference is determined by SetGlobalGuiInset, but the values passed to this function are not exposed in any way.[/li]
[/ul]
I do not think the implications of making this change have been fully considered. It breaks backwards compatibility and generates too much confusion.
I honestly do think that it’s more backwards compatible with this new change. Gun cursors are fairly minor and not completely game breaking if they’re offset a little. On the other hand, many in-game menus are positioned along the top of the screen and if the topbar covered them, they’d be completely inaccessible.
[quote] I honestly do think that it’s more backwards compatible with this new change. Gun cursors are fairly minor and not completely game breaking if they’re offset a little. On the other hand, many in-game menus are positioned along the top of the screen and if the topbar covered them, they’d be completely inaccessible.
I don’t see an easy way out of this. [/quote]
Pushing the screen downward to accommodate the topbar is perfectly fine. The problem is that ScreenGui.AbsolutePosition reports a position [tt]0,0[/tt] despite being pushed downward. That is what’s causing all the problems. Having it report the correct position in viewport coordinates ([tt]0,36[/tt] in this case) would fix everything like magic.
I honestly do think that it’s more backwards compatible with this new change. Gun cursors are fairly minor and not completely game breaking if they’re offset a little. On the other hand, many in-game menus are positioned along the top of the screen and if the topbar covered them, they’d be completely inaccessible.
I don’t see an easy way out of this.[/quote]
It’s not only gun cursors – my block of code that checks if the mouse is inside of a GUI object was broken by this.