The ground marker minimap overlay gets a local point for the tile to mark from fromWorld()
and passes it to localToMinimap() - but because the adjustment of -1, when the player position
is subtracted from it to compute the minimap location it causes the computed position to be off
by a full tile.
Additionally, drawRect() width and height is inclusive so the width/height must be subtracted by 1
As the number of bonus types increases, the existing system of allowing
only a single type of bonus to be applied, and only allowing actions to
entirely opt out of having bonuses applied rather than more fine-grained
control, is showing its age. This commit redefines all bonus and action
entries in Java enums so that such systems can be better-defined.
Additionally, it comes with the benefit of easier change validation via
testing and enabling item and sprite ID referencing via runelite-api.
GPU uses an alternative projection to avoid vertex snapping. Usually
this doesn't matter much, and in the worst case causes the discrepancy
to be only a few pixels, but with the model outline feature it causes
the outlines to be noticibly off when GPU is enabled.
This adds a second model-to-canvas method using the alternative
projection and uses it when GPU is enabled.
LOOKING_INTO is a generic animation used for numerous activities, and
was previously used as an intermediate animation in a test case. Now
that it is used to trigger idle notifications, a dummy animation has
been inserted to ensure the affected test case will not be broken in the
same way in the future.
Co-authored-by: Nick Wolff <nickwolff2@gmail.com>
Co-authored-by: Arnaud Peralta <arnaud.peralta@gmail.com>
This adds support for moving the wilderness icon layer, which is not in
an area near a snap corner. With no preferred location set the overlay
adjusts its bounds to the widget bounds and will not adjust the widget
position.