ef268ebc7f63866b26ff538f0969f530b44d0046
The overlay was storing the previous frames tooltip width and height in the overlay bounds, to use for the next frame to position the overlay correctly so that it did not get pushed off canvas. This requires the tooltip overlay to have a non-empty bounds, which is not something dynamic/tooltip overlays usually support. The overlay renderer translates the g2d to the given bounds prior to rendering. The reason this worked was it always kept x/y=0, causing the translation to not happen. However this incorrectly caused the overlay to be picked when testing overlay bounds against the mouse position when up near the corner of the screen. This would then cause the player to pick the tooltip overlay, despite the overlay not being rendered there.
runelite

RuneLite is a free, open source OldSchool RuneScape client.
If you have any questions, please join our IRC channel on irc.rizon.net #runelite or alternatively our Discord server.
Project Layout
- cache - Libraries used for reading/writing cache files, as well as the data in it
- runelite-api - RuneLite API, interfaces for accessing the client
- runelite-client - Game client with plugins
Usage
Open the project in your IDE as a Maven project, build the root module and then run the RuneLite class in runelite-client.
For more information visit the RuneLite Wiki.
License
RuneLite is licensed under the BSD 2-clause license. See the license header in the respective file to be sure.
Contribute and Develop
We've set up a separate document for our contribution guidelines.
Description
Languages
Java
98.9%
GLSL
0.7%
C
0.3%
