The previously-hooked addMenuEntry method in runescape-client is one
that occasionally gets inlined which can cause weird breakages like
MenuEntryAdded not getting fired for menu entries defined in
ItemDefinitions. Hooking the menuOptionCount field should be more
reliable.
Fixes#936
Being able to spam left click without paying attention to what actually
needs to be called is overpowered. Until we come up with something
better (like binding the different calls to Ctrl, Alt, Ctrl+Alt) we
shouldn't offer this particular feature
This includes a new event: GrandExchangeOfferChanged which is fired
whenever a grand exchange offer is updated, either manually by the
player, or as a result of the offer being fufilled (partially or
otherwise)
The field formerly known as "progress" encoded what state the offer was
in which is a weird 4-bit thing that includes information about whether
the offer is a buy or sell offer, whether it's finished, and some other,
less well-defined info about (what seems to be) the offer's live-ness.
How close an offer is to being finished (ie its progress) is only really
based on how many items have bought/sold out of the total amount
requested/offered.
shownSkills wasn't being initialized until it received ConfigChanged
event, causing a NullPointerException when the overlay tried to iterate
over shownSkills
getClickbox returns an AWT Area object which corresponds to theclickable area of a GameObject, GroundObject, DecorativeObject or WallObject.
getClickbox for ItemLayers isn't implemented, since I haven't looked into how clickabilty works for items on the ground in the client.
The first button (yellow square) will toggle drawing of 2D bounding boxes
The second button (RGB cubeframe) will toggle 3D bounding box drawing
The third button (cursor over red square) will toggle clickbox geometry
drawing
The fourth button (cursor over cubeframe) switches between "draw all 3D
bounding boxes" and "draw bounding box for object under cursor" modes of
the 3D bounding box drawing.
T
There's no playSoundEffect-equivalent method in the actual client code.
Instead, the client just adds some values to the 4 sfx arrays, removes
any old queued sound effects, and then bumps the counter, which is what
I've done as well.
Once its gotten close to the edge of the window, my cursor will usually
get stuck as one of the resize arrows rather than change back to a
normal cursor. It looks like Substance gets confused about what the
last cursor was, and starts "restoring" one of the resize cursors,
instead of the pointer, when the cursor moves back away from the edge of
the window. Setting the cursor for the frame's LayeredPane fixes the
problem.
To draw the progress bar, XPGlobesOverlay.drawTooltipIfMouseover() uses
Experience.getXPForLevel(), which threw an IllegalArgumentException when
asked about level 1. This change shifts the XP_FOR_LEVEL array over by
one, so that XP_FOR_LEVEL[0] is the XP required to reach level 1 (i.e. 0),
rather than the XP required for level 2.