When the wiki entity lookup option is off the parent layer isn't
positioned at all, causing the resulting wiki icon we create to be
incorrectly positioned.
This method checks if the model is on screen by projecting points at the model
extremes to screen and seeing if they are in the viewport bounds.
When doing this, it offsets the model height for the top of the viewport check,
but does not offset the bottom of the model for the bottom viewport check. This
offsets the bottom height to the model y position before doing this check,
which improves the test on models which are beneath the tile they are placed on.
This is most noticible in the Karamja dungeon and Hydra dungeon which has
objects for the lava instead of tiles, and they are placed at y=0 with some or
all of the model being below that.
Without this, the minimum size will be the same size as was prior to
maximizing the frame. If the side bar or panel is opened or closed when
maximized this can cause the minimum size to be incorrect after a
restore.
Co-authored-by: Mark Koester <mark.koester1@gmail.com>
Co-authored-by: Jeremy Plsek <jeremyplsek@gmail.com>
When the varrock armour effect triggers it will smelt two bars at once,
using two charges, unless there is only one ore remaining where it will
use only one charge.
Co-authored-by: Jason Barr <58792686+JBarr2710@users.noreply.github.com>
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