Fix #1077 Fix up ScreenEvent.BackgroundRendered #1500
+8
−10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
In #1077 I advocated for removing this event as no longer necessary, but it turns out this event is still needed after all, for a single very specific case.
Tooltips and item energy bars both render using
RenderType.GUI_OVERLAY
which has forcedsetDepthTestState(NO_DEPTH_TEST)
.So the only way to order them correctly is to have the items draw before the tooltip using this event:
Solution notes
There is a better place to fire this event so that it doesn't need many patches: right after the transparent background is drawn. Every normal in-game GUI makes the call to draw that transparent background before their own background.
Technically this is a breaking change, but an extremely minor one. Also, the event was pretty broken before anyway.