Commit Graph
100 Commits
Author SHA1 Message Date
Adam b3b7491680 http service: remove unused price endpoints
Also remove time from ItemPrice, which is no longer needed now that the endpoint for fetching historic price data is gone
2021-03-07 23:20:09 -05:00
Adam 12a84f4c61 http service: remove unused cache item image endpoint 2021-03-07 12:12:53 -05:00
Adam 15a8c6f3ab http service: remove unused sprite endpoint 2021-03-07 12:07:30 -05:00
AdamandAlexsuperfly c96c8b979e barrows: simplify timer creation logic
There is a rare bug which can cause multiple timers to appear at once,
and although I cannot figure out what is wrong with the existing code,
this simplifies the logic sufficiently that it shouldn't happen anymore.

Co-authored-by: Alexsuperfly <alexcsumner@gmail.com>
2021-03-07 11:49:15 -05:00
Adam 7793ca049a config manager: include profile in unset configchanged event 2021-03-04 00:05:18 -05:00
Adam 60b8d3370f Fix slayer plugin setting config values to null
null is not permitted in properties and throws an exception. Additionally mark value in setConfiguration as NonNull.
2021-03-04 00:05:18 -05:00
Adam 45fd98d487 chat commands: add jad challenge kc and pbs 2021-03-03 14:51:45 -05:00
Adam 4e7d548940 perspective: add plane parameter to getCanvasTileAreaPoly 2021-03-02 19:25:43 -05:00
Adam 9588d72a62 api: add actor animations 2021-02-27 13:22:46 -05:00
Adam 1f334d4ee8 Merge pull request #13277 from abextm/jshell
devtools: add shell window
2021-02-26 14:17:33 -05:00
Adam fc72d17a55 ping: use icmp ping on linux if available
This uses IPPROTO_ICMP sockets, which most modern linux systems support.
This allows directly sending icmp echo requests without having to use
the tcp ping check. As a fallback the old tcp ping method is used if
socket setup fails.
2021-02-23 16:50:22 -05:00
Adam 5f7c2a9dee corp plugin: use varbit changed event to track damage
In masses it has been observed that the players damage counter can
increment after the last hitsplat has been applied, which causes
the final damage summary message to be incorrect
2021-02-21 12:10:59 -05:00
Adam 601128c1e7 discord plugin: only check for area update on logged in gamestate 2021-02-19 19:54:52 -05:00
Adam bd7e47f70e devtools: add disconnect button 2021-02-19 19:53:10 -05:00
Adam 667df94d1b barrows plugin: use widget closed event for clearing puzzle 2021-02-19 19:52:38 -05:00
Adam e0be69c725 client: move core singleton eventbus registration to singleton constructors 2021-02-19 10:48:03 -05:00
Adam 611ba39764 object indicators: fix marking multilocs after var changes
If a var changes after the marked objects are loaded, causing the object's name
to match a marked object, it would not be identified due to it not firing spawn
events
2021-02-14 22:11:39 -05:00
Adam 0b993b635c clues: make isle of souls hotcold location a master step 2021-02-14 22:09:48 -05:00
Adam 8a728c1053 key remapping: set press enter to chat text regardless of chatbox focus
I can't figure out why this was originally added, but this shouldn't
care about the chatbox focus state since the script event is in the
script which builds the chatbox input widget. This is currently causing
an issue where the input rebuild script runs immediately before the
chatbox input keylistener is reapplied when closing input dialogs.
2021-02-13 22:32:06 -05:00
Adam 778dc07181 Bump to 1.7.0-SNAPSHOT 2021-02-13 11:21:07 -05:00
Adam 77757229a5 entity hider: add option to hide ignored players
This is diabled in pvp to avoid abuse. This additionally allows the
"hide" options to be set without hiding others now.
2021-02-13 10:12:13 -05:00
AdamandPaul Norton 13efaa6a0c gpu: add opencl support for macos
This allows using opencl as an alternative to opengl compute shaders on
macos, which does not support compute shaders. Now, macos can finally
use the extended draw distance feature of the gpu plugin.

This also includes code for using opencl with Windows and Linux if we
want to enable that in the future. A copy of the existing compute
shaders have been checked in and ported to opencl, keeping support for
opengl compute shaders on Windows and Linux.

Co-authored-by: Paul Norton <napkinorton@gmail.com>
2021-02-11 19:24:55 -05:00
Adam 7656cafc70 chat commands: comma separate values in several commands 2021-02-09 15:38:12 -05:00
Adam 525c64b8df farming tracker: don't send notifications for empty crop state 2021-02-09 11:43:12 -05:00
Adam 089756189f devtools: fix drawing game object overlays multiple times
This also removes the player mesh overlay and the gameobject convex hull overlay since they are unnecessary
2021-02-06 14:20:19 -05:00
Adam daf0d1c48b perspective: support rectangular tile areas 2021-02-06 14:20:18 -05:00
Adam f13be14280 bank tags: fix tag named clue coexisting with the special "clue" tab 2021-02-05 23:25:34 -05:00
Adam 73d481302b icon text field: use only awt key listener
This key listener wrapper is unnecssary and was using the RL key listener, which is meant for client keys, instead of the awt key listener
2021-02-05 23:23:19 -05:00
Adam e941bb7240 friends chat: use return value of addChatMessage 2021-02-04 22:29:04 -05:00
Adam e71b18b02b chat history: fix replaying runelite-formatted messages
This stores the underlying message node, which may be updated much later with a
new message value if a command is used, and replays that. Previously
this was storing and replaying the raw RL formatted message, which is
why colors would be stripped off of RL-formatted messages on replay.

This also no longer triggers chat message events from history replay,
which fixes commands incorrectly refiring from replay (and thus the nbsp
hack), and fixes the chat notifier sending notifications for replayed
messages.
2021-02-04 20:53:41 -05:00
Adam a2b2d049cc chat message manager: format runelite messages prior to adding
This allows plugins listening for the chat message event to get the runelite formatted message
2021-02-04 20:53:40 -05:00
Adam 236c23b25e chat command manager: remove unnecessary null tests 2021-02-04 20:53:40 -05:00
Adam 29747b1ea7 api: add an addChatMessage method overload to allow skipping events 2021-02-04 20:53:39 -05:00
Adam fc8360f6cc config manager: require config group and key when setting configuration 2021-02-04 16:18:18 -05:00
Adam 7b5fb1fb76 clue scroll plugin: fix test 2021-02-04 13:41:32 -05:00
Adam 1ae0770705 bank tags: allow plugins to register their own tag names
This also moves the clue tab logic into the clue plugin and inverts the bank tags -> clue plugin dependency
2021-02-04 11:39:38 -05:00
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