Commit Graph
100 Commits
Author SHA1 Message Date
Adam 263b02ac14 config manager: use createTempFile for config temp file
With multiple clients with different configs saving at once, the same temp file was being used, which can cause it to not save or to move() a temp file from a different client
2021-02-03 15:05:25 -05:00
Adam a58b2d3fdf Revert "image component: support setPreferredSize"
This reverts commit 5e7242388d.
2021-02-02 23:26:18 -05:00
Adam 5e7242388d image component: support setPreferredSize 2021-02-02 21:15:39 -05:00
Adam ab4bb3bc97 Revert "runelite-client: Don't use system specific modifier key names"
This reverts commit 962bc58178.
2021-01-31 12:37:29 -05:00
Adam ca56ef1082 Apply default font to text with unicode characters
MacOS does not support fallback fonts, and any character not in our RS
fonts do not render correctly.

We only render unicode characters a handful of places, mostly for the
check mark/cross in overlays, and on the icon text field suggestion
button. So this sets the font of those places to the default system font
which can render them correctly.
2021-01-30 19:30:56 -05:00
Adam 61f732d330 tile: add setter for ground object 2021-01-30 11:17:00 -05:00
Adam e3b0755385 world hopper: move hop() to client thread 2021-01-29 14:40:49 -05:00
Adam 84661dfe52 api: remove npc action changed event
Despite menu manager using this, the methods to register npc menu options was removed awhile ago, and so it is unused
2021-01-27 21:01:03 -05:00
Adam f5df6a0298 menu manager: preserve managed menu option ordering
Also add a check that the menu being added is of type CC_OP so that we know getWidgetId() is valid
2021-01-27 21:01:02 -05:00
Adam 2be9fe9df3 slayer plugin: update task completion message parsing 2021-01-27 03:59:23 -07:00
Adam f6c68eefc8 api: remove PlayerMenuOptionClicked
There is only one legitimate use of this, which is in the hiscore
plugin, but it is simple to replace it with a normal menu option clicked
event. Additionally the world hopper was incorrectly using this event
for the Hop option, so it has been changed to use the menu option
clicked event.
2021-01-25 20:20:27 -05:00
AdamandPaul Norton 426265c765 ground markers: add option to export and import
Co-authored-by: Paul Norton <napkinorton@gmail.com>
2021-01-25 18:50:59 -05:00
f6953f3bef inventory tags: add fill tag option
This changes the display mode selector to be several separate options so
that users can select multiple, such as outline and fill.

Co-authored-by: Jordan <Nightfirecat@users.noreply.github.com>
Co-authored-by: 1jz <philipgolovin@gmail.com>
2021-01-24 16:23:57 -05:00
Adam 46434c304c image util: simplify fillImage alpha check 2021-01-24 16:23:57 -05:00
Adam 8541ce6667 teamcapes: rewrite to use events 2021-01-24 15:11:58 -05:00
Adamandsdc6 c9cd33a8dd spec counter: add bone dagger, crossbow, and anchor
Co-authored-by: sdc6 <sdc6@aber.ac.uk>
2021-01-24 00:26:44 -05:00
Adam 5360bfd121 ground items: add despawn time for gwd instances 2021-01-22 14:42:42 -05:00
Adam 2653c7fada plugin list panel: remove unused executor 2021-01-22 12:25:23 -05:00
Adam 321b976cf1 plugin hub panel: sort plugins by usercount 2021-01-22 12:25:23 -05:00
Adam 857ac274ff client: rename jogl/gluegen osx natives artifacts
gradle does not look at classifiers when doing dependency conflict
resolution, causing it to not correctly handle having multiple
dependencies of differing versions and classifiers. It picks the highest
version of any of the dependencies with the same groupId and artifactId
and uses that for every other dependency regardless of classifier.

This renames the osx natives artifacts to have a unique artifact name to
workaround this issue
2021-01-20 18:25:40 -05:00
Adam 97343fbd09 client: update discord dependency version
The osx native has been rebuilt to support older osx versions
2021-01-20 18:02:01 -05:00
Adam 48262fdc19 Merge remote-tracking branch 'abex/cache-code-pre-2021-1-20' 2021-01-20 10:21:39 -05:00
Adam 19122e71c3 Use delomboked sources for javadoc generation 2021-01-19 21:28:51 -05:00
Adam f8b407f79a kittype: use ordinal for index 2021-01-19 15:00:31 -05:00
Adam b12860b52d chat notifier: restore original color when highlighting own name 2021-01-19 13:04:01 -05:00
Adam 239d58df72 client: update discord dependency version
The osx native has been rebuilt to be a universal library for both x64 and arm64
2021-01-18 19:08:52 -05:00
Adam 6d42e7ba42 client: update gluegen and jogl osx natives
The natives have been rebuilt to be universal libraries for both x64 and arm64
2021-01-18 17:00:28 -05:00
Adam c997e175a5 world map: consolidate world map points into one 2021-01-15 14:00:36 -05:00
Adam 7dae40daef custom cursor: use cursor name for combobox labels 2021-01-13 22:02:20 -05:00
Adam 524ebee67d config panel: fix combobox displayed size
The size was being computed from the enum names during the getPreferredSize() call due to not having the renderer set yet. Additionally the old prototype display value was not being used during this as it was not set yet, either.
2021-01-13 22:02:19 -05:00
Adam 92013816b8 Shorten many config names to fit into side panel 2021-01-13 21:48:12 -05:00
Adam 8cc7448f58 runelite config: enable custom chrome only on Windows 2021-01-13 10:58:17 -05:00
Adam 359b909d8e gpu: fix camera position
The position returned by getCameraX/Y/Z are not yet updated when this is
called, causing it to be from the previous frame's camera position.

This was introduced in 0fc1a94088 when the
uniform code was copied from draw.
2021-01-09 21:47:13 -05:00
Adam 266fee2067 config service: handle fromJson() returning null
Treat it the same as handling a json syntax exception
2021-01-09 17:12:05 -05:00
Adam fa43ca94db npc highlight: revert fill color behavior
Prior to ab4cf1afe9 this already accepted an alpha color and so this introduced a behavior change when picking a color with alpha
2021-01-08 17:53:12 -05:00
4a214f9807 spec counter: add spec threshold notifications
This allows configuring spec thresholds which a notification will be sent for
when reached. Additionally it colors the infobox text red or green based on if
the threshold has been reached.

Co-authored-by: Dylan <dylanhe@gmail.com>
Co-authored-by: jgozon <47003557+jgozon@users.noreply.github.com>
2021-01-08 16:20:40 -05:00
Adam cb22bdd026 gpu: add option to use old texture brightness code 2021-01-08 12:58:56 -05:00
Adamandvitorebom aa1cd2c7ff spec counter: prevent dark core, zombified spawn, and combat dummies from reseting counter
These are commonly attacked during boss fights or whilst speccing down bosses and shouldn't reset the counter

Co-authored-by: vitorebom <vitorebom@users.noreply.github.com>
2021-01-08 11:44:33 -05:00
Adam ae18d2a865 overlay: fix layouted overlays not respecting parent bounds
This clamps layouted overlays to their parent's bounds, and also adjusts
the snap corner for the shifted position that is a result of the clamp,
so that the following overlays correctly get layouted.
2021-01-06 21:22:01 -05:00
Adam 86940e139b hiscore panel: add soul wars zeal 2021-01-06 15:27:07 -05:00
Adam 0f17ecdaea http-api: add soul wars hiscores 2021-01-06 15:27:07 -05:00
Adam c5a52754e0 Fix Zalcano damage overlay to only show during Zalcano
This varp is for the hp hud, and applies to more content than just
Zalcano, so verify that the hp hud is for Zalcano
2021-01-05 15:26:08 -05:00
Adam 4ca8ef4d40 gpu: fix lighting textures
The passed hsl for textured triangles is a 7-bit lightness, and should
be directly multiplied into the texture color
2021-01-02 20:43:26 -05:00
Adam fdd84f929d perspective: ignore invisible tris in clickbox calculation 2020-12-31 18:13:36 -05:00
Adam 0fc1a94088 gpu: dispatch compute after scene draw
This moves the compute shaders to run immediately after scene draw,
instead of in the draw() callback, which happens much later. All models
in the scene have been queued by the time, but since it is so early in
the ui drawing, it gives a few more ms for the compute to run before the
result needs to be used to draw the next frame.
2020-12-30 16:41:28 -05:00
Adam fd9626495b client: bind runelite.properties to guice 2020-12-30 16:32:23 -05:00
Adam 246b0f8a86 gpu: draw full screen widgets on gpu
This adjusts the draw callbacks api to take in the color of the full
screen overlay the client would have rendered. This is primarily used in
godwars, underwater, darkmeyer, etc. Having them rasterized on the cpu
is slow, especially with gpu on since we additionally have to compute
the alpha per-pixel.
2020-12-29 20:06:41 -05:00
Adam 5c5e71681a gpu: correctly set model height on non-model renderables
This was incorrect before, but I think is only used for determining if a renderable is occluded, and doesn't change any behaviors I can see
2020-12-29 18:21:25 -05:00
Adam 14ada669f5 gpu: move calculateExtreme() after visibility check
It is only used in the clickbox code and isn't required for isVisible()
2020-12-29 18:06:29 -05:00
Adam 68f4174b21 comp_unordered.glsl: don't orient vertices
While nothing passed to comp_unordered uses orientation, the uniform
block is not bound in this shader, and rotate() accesses sinCosTable. So
I'm not sure why this has ever worked.
2020-12-28 21:26:09 -05:00
Adam 5822e489f7 Allow mouse tooltips on the welcome screen and full screen world map
Adjust the mouse highlight overlay to run at the same layers as the
tooltip overlay. It always runs first due to having a lower position.
I think previously tooltips from ui ops were 1 frame behind due to this
being UNDER_WIDGETS.

Additionally change the tooltip overlay to draw after the fullscreen tli
instead of the world map interface. Having it render after the world map
caused tooltips to render after the floating world map too, which is too
early. The fullscreen tli is the root of both the fullscreen world map
and of the welcome screen.
2020-12-28 20:41:09 -05:00
Adam e3b75c8b7a ge: submit buy limit reset time 2020-12-25 19:58:22 -05:00
Adam 9a322c70d0 ge: add trade seq number
Occasionally the trades are delivered out of order, this allows us to reassemble them in the correct order
2020-12-25 19:19:41 -05:00
Adam 2c8984e380 ge: add user agent to trade message 2020-12-25 19:19:40 -05:00
Adam ffebb9cf0c ge plugin: better handle trades updating on login
After login there are two sets of offer updates, I suspect the first is
from the server and the second is from the ge server - this also flags
ge server trade updates as on login. To do this we assume it always
happens in the first few ticks after the login burst.
2020-12-25 19:19:39 -05:00
Adam 85a953e76b api: remove WidgetHiddenChanged
This has been superseded by script hooks on the scripts which hide the widgets
2020-12-24 15:40:00 -05:00
Adam 175f436f48 ping: place IcmpCloseHandle in finally
If toIntExact() throws then this would leak the handle
2020-12-20 12:54:22 -05:00
Adam b1ebf7814b menu entry swapper: refactor configure shift click menu code to use menu types and ids
This fixes an issue where if the action at the configured shift click action
index was null, which can happen due to item variations, the option.equals()
check would npe, and prevent configuring shift click on the item.
2020-12-19 14:11:27 -05:00
Adam c05d29424f menu entry swapper: replace some client.getItemDefinition calls with itemManager.getItemComposition 2020-12-19 14:11:16 -05:00
Adam 5dc5adc01f Remove ITEM_DROP menu action
It is identical to ITEM_FIFTH_OPTION and of() was returning only ITEM_DROP,
which made ITEM_FIFTH_OPTION useless
2020-12-19 14:11:07 -05:00
Adam eafaaec07d timers: use pvp varbit to clear teleblock timer 2020-12-18 17:19:47 -05:00
Adam 1d5df7b475 wiki: use script post fired event for hiding wiki banner 2020-12-18 16:40:46 -05:00
Adam 34e37dcc57 Add interface and layer draw hooks for overlays
This allows overlays to request draw after any interface or layer. This
allows removal of the ABOVE_MAP layer which can now just be replaced
with requesting draw after the map interface. This also fixes item
overlays from drawing over top of the map by now drawing the item
overlay immediately after the interface and/or layer the item is on is
drawn.

For backwards compatability, ABOVE_WIDGETS is kept as a layer, but
internally just requests draw after the 3 TLIs.

Due to overlays defaulting to the UNDER_WIDGETS layer, a new layer
MANUAL has been added, which is intended for use when requesting draw
after specific interfaces or layers, so that the overlay is otherwise
not drawn a second time due to being UNDER_WIDGETS.
2020-12-15 14:30:49 -05:00
Adam a43a344aca Rename various itemWidget to widgetItem to match class name 2020-12-15 14:30:48 -05:00
Adam 61a36f106f overlay renderer: use viewport bounds for snap corner offsets
The rendered x/y position of the viewport layer is the same as the viewport offsets. This also no longer assumes the x/y offets are the same, even though in practice they always are.
2020-12-15 14:30:47 -05:00
Adam 38b3d3a904 api: remove getViewportWidget()
The returned widget isn't actually the viewport widget, but is a layer within the viewport, and only needs to be used within the overlay renderer to position the snapcorners
2020-12-15 14:30:46 -05:00
Adam 78e0cf5392 ci: use mvn verify phase instead of install
Installing the artifacts is not necessary, and
currently we have to remove them from the build
cache to prevent that from growing too large
2020-12-13 11:22:11 -05:00
Adam 70a2e41db0 Allow overlay renderer to restrict overlay parent bounds
This removes the hack of double setting the widget position in
WidgetOverlay, which was required to override the overlay renderers
clamping code in both overlay drag and in overlay rendering.
2020-12-12 23:46:37 -05:00
Adam 59bccf2c6f overlay renderer: set currentManagedOverlay also when clicking
Requiring the mouse to be moved first causes dead clicks when the mouse is
pressed immediately after entering overlay management mode. Also since
resetOverlayManagementMode() clears the managed overlay, after dragging
an overlay it again requires the mouse to be moved to pick up a click on it
if dragging again or trying to reset the overlay.
2020-12-12 21:04:18 -05:00
Adam 0bf7f33ee0 devtools: assign unique names to debug infoboxes 2020-12-12 21:03:06 -05:00
Adam eaa16429e5 widget overlay: use the in-game configured position for the xptracker widget 2020-12-12 21:01:43 -05:00
Adam c2d5165709 twitch: fix npe closing client if no socket has been created
If the client is closed prior to the socket being created, or if socket creation fails, this will repeatedly throw out of close() in connect() and is never able to reestablish a connection
2020-12-09 20:13:02 -05:00
Adam 807a22172f barrows: fix reward potential color overlay
The reward text color is meant to show what is the optimal reward percent
for money, assuming that blood runes are best, and death runes are
second best. The percentage thresholds however were incorrect.
2020-12-09 20:00:29 -05:00
Adam b9b87d10a4 music: update for volume api changes 2020-12-09 04:44:57 -07:00
Adam 45ae2fa3f6 metronome: update for volume api changes 2020-12-09 04:44:57 -07:00
Adam dc84f6b649 api: move sound effect volumes to preferences 2020-12-09 04:44:57 -07:00
Adam f67eed0f96 chatcommands: always apply pb from raids
This logic was from prior to cox having a pb message, and so it had to compare
the known pb with the current raid duration. Now that all raids have a pb
message, it is no longer necessary to do this. This fixes pb times syncing up
in the main game correctly that were overwritten by leagues.
2020-12-07 23:34:02 -05:00
Adam 3911a2c79c Merge pull request #12889 from abextm/music-sliders-2000-external
music: re-add slider granularity
2020-12-07 16:06:06 -05:00
Adam 3bad0b726b ba plugin: cleanup and remove unused code 2020-12-06 15:45:35 -05:00
Adam f0233234da chat commands test: remove unnecesary argument matchers 2020-12-04 16:01:50 -05:00
Adam 3771444b7f chat commands: fix detecting pb when completing leagues tasks
The league task message is in between the kc and pb messages, so just look for the pb message on the same tick as the kc message
2020-12-04 15:50:21 -05:00
Adam f5a76e9961 clientui: fix double requestFocusInWindow() when showing frame
requestFocus() always calls giveClientFocus() in addition to requesting
focus, so it is not necessary to call giveClientFocus() separately on
startup.
2020-12-03 15:50:56 -05:00
Adam 316a19147c Fix Javadoc search feature to work without modules 2020-12-03 11:37:41 -05:00
Adam 16149cdcae config manager: manually parse config keys
The regex used took too long to complete with large inputs that can
appear when the user has a corrupted config.
2020-12-02 19:26:13 -05:00
Adam a4daa407a1 timers: fix abyssal sire stun timer
At some point this changed to no longer animate once the sire changed to
the stunned type. This changes the timer to just use the npc changed
event, which should work more reliably.
2020-12-01 18:13:44 -05:00
Adam 764dce1dfc timers: fix tzhaar timer tracking when disabled mid inferno
This moves all of the timer tracking logic outside of the check for if
the timer is on, and now also allows toggling the timer on and off when
in the caves.
2020-12-01 11:29:05 -05:00
Adam 68dfa21482 timers: ignore config changed events for other config groups
Also make a local variable for message in the chat message handler
2020-12-01 10:49:32 -05:00
Adam 38c9e084ed Use raw varp array for get/set value in devtools
It was decided the current indirection isn't necessary
2020-11-30 21:19:57 -05:00
Adam 97f4ebf985 devtools: queue changed varps in setvarb and setvarp 2020-11-30 21:19:56 -05:00
Adam 82f937ec5d api: add queueChangedVarp 2020-11-30 21:19:55 -05:00
Adamandjsambon 912847c1fd worldmap: add Getting Ahead quest start location
Co-authored-by: jsambon <jean-francois.sambon@student.uclouvain.be>
2020-11-30 19:19:47 -05:00
Adam a658d94db0 notifier: move osx terminal-notifier test to executor
Additionally set a timeout on the process
2020-11-28 14:54:26 -05:00
Adam e9acabf549 dps counter: add option to only count boss damage 2020-11-28 14:32:09 -05:00
Adam d8e97dd1f7 dps counter: add option to reset when boss dies 2020-11-28 13:47:00 -05:00
Adam 23b7a65c29 chatfilter: fix filtering self and clan messages with chat icons
This was incorrectly filtering self/clan messages from players with chat
icons due to not stripping the icon tag before matching the player name.
2020-11-27 15:32:51 -05:00
Adam f6a5463a57 Merge pull request #12834 from abextm/rsprofile-external
Per RuneScape-Profile configuration
2020-11-27 00:00:54 -05:00
Adam 0ca25d4f46 chat controller: return 404 if task is not found
This was returning a 200 with an empty body, causing the client to npe due to deserializing it as a Task with no task or location
2020-11-26 14:37:50 -05:00
Adam 922c5e3421 cache: fix objexporter hsl to rgb calculation
This was doing hsb to rgb instead
2020-11-24 18:45:37 -05:00
Adam e5b5292267 objectindicators: fix not marking objects when loaded on other planes
fromLocalInstance() was returning a world point using the clients plane,
however the object may not be on that, causing the plane check in
checkObjectPoints() to fail.
2020-11-22 18:35:05 -05:00
Adam 1f3634d429 Fix incorrectly marking Al Kharid west shortcut window
The west window has the same id as the east window, causing both to be marked by the agility plugin. This adds a matches() method to AgilityShortcut to allow the plugin to test specifically which window matches the shortcut.
2020-11-22 15:45:39 -05:00