Commit Graph

11663 Commits

Author SHA1 Message Date
Runelite auto updater
c121e65209 Release 1.8.13 2022-03-09 16:28:54 +00:00
Adam
de2edb2033 Add barbarian rod anim to fishing and idle notifier 2022-03-09 10:41:31 -05:00
Faycal
65e3670a46 item identification: add rejuvenation potion 2022-03-08 23:38:16 -05:00
David Luong
790f18128f item identification: add goblin and magic ess potions 2022-03-08 23:03:58 -05:00
Adam
6aba1e3894 api: add isFollower to NPCComposition 2022-03-08 19:31:42 -05:00
Adam
93d483db7b gpu: don't animate textures when loading 2022-03-08 16:11:23 -05:00
Adam
d2fd37e543 config manager: run shutdown hook after plugins 2022-03-07 22:48:29 -05:00
Adam
473a3042fb api: add methods to get selected item 2022-03-06 22:32:55 -05:00
Adam
94691fc870 runelite: disable option parser abbreviations 2022-03-06 19:39:46 -05:00
Adam
64abf450d9 loot tracker: store loot in config
Since loot is now aggregated, the data is little enough to store in
config. This allows loot to persist between sessions even when not
logged in.
2022-03-06 15:12:52 -05:00
Adam
f2b43743c3 config manager: post RuneScapeProfileChanged when new profiles are created 2022-03-05 21:39:58 -05:00
Adam
d842bacd2c loottracker: hoist box emptyborder from loop 2022-03-05 19:52:27 -05:00
Adam
17f6890b69 loottracker: replace getTotalPrice with stream 2022-03-05 19:51:07 -05:00
Adam
7864a10135 loottracker: split panel construction into methods
This moves the overall and actions panel creation into separate methods
2022-03-05 19:51:05 -05:00
Adam
5006e959b0 gpu: fix anim array indexes with sparse texture array
Texture 54 doesn't exist and was causing everything after it to have its index off by 1
2022-03-02 14:20:03 -05:00
Adam
2520da4dca gpu: move texture animation to gpu 2022-03-02 10:13:24 -05:00
Adam
3ad8452d41 cache: rename texture animation direction and speed 2022-03-02 10:01:10 -05:00
Adam
5a4faef350 client: add plugin sideloading
This supports sideloading plugins out of the sideloaded-plugins
directory when run in developer mode
2022-03-01 10:50:23 -05:00
Adam
e839dc15c3 api: expand item api for inventory model replacement 2022-03-01 10:31:35 -05:00
Adam
cda29d36b8 idle notifier: disable by default 2022-02-27 22:57:00 -05:00
Adam
5d7edacd21 item manager: fix active price threshold calculation
This was meant to keep items within 5x of their Jagex price, but the
logic was only correct if activePriceThreshold <= 1.0.
2022-02-27 12:33:40 -05:00
Adam
ffc5380f28 cache: script: remove unused import 2022-02-25 14:30:06 -05:00
Tony Wang
15a393fe86 cache: script: use linkedhashmap for switch map
The switch maps are iterated in the assembler and disassembler and the generated code depends on the iteration order
2022-02-25 14:12:21 -05:00
Cyborger1
d8c67fa9b8 clientui: run PluginPanel#onDeactivate when switching panels 2022-02-25 13:04:13 -05:00
Jordan Atwood
d94abb884d slayer: Fix name matching
The Slayer plugin highlights target monsters based on their name rather
than NPC ID, as many common monsters (skeletons, zombies, etc.) have
nearly endless variations for different models and combat levels.
Previously, this name matching was done via a simple
`String#contains()`, which led to some incorrect matches such as pirates
being highlighted while on rat tasks and Jonny the beard being
highlighted while on bear tasks.

This commit changes matching to use regex to match string boundaries or
whitespace at either end of the task string, ensuring these substring
matches can only happen when word breaks occur. The only known existing
case where this would apply is for baby dragons and brutal dragons,
which are valid alternatives for their respective chromatic dragon
tasks.
2022-02-25 12:40:43 -05:00
Cyborger1
116036d542 clues: fix Guardian mummy capitalization 2022-02-24 23:32:16 -05:00
Hooder
35949bce22 gpu: Fix loading gluegen natives on some Windows configurations
This commit works around a bug with loading natives when the user's home
folder contains special characters such as `&`, `^` or `!`.

When Gluegen loads native libraries on Windows, it uses a temporary
directory located in `%appdata%` under the user's home directory, and
Gluegen checks whether files can be executed from this temporary
directory. To perform this check, it writes an executable to the
directory, executes it, and ensures that the return code is zero. The
executable file it writes is by default a `.bat` file, but it can be
told to write an `.exe` file instead by supplying this VM argument:
`-Djogamp.gluegen.UseNativeExeFile=true`.

The default behaviour of writing and executing a `.bat` file is broken
when the path to the temp folder contains a special character, due to a
convoluted trail of calls that leads to undefined behaviour:
- Gluegen attempts to execute the `.bat` file by calling `Runtime.exec()`:
  `Runtime.exec(new String[] { "...absolute path...bat" }, null, null)`
- OpenJDK 11.0.8 passes the command to `ProcessBuilder`, which calls
  `ProcessImpl.start(...)`, which creates a new `ProcessImpl` instance.
- In the `ProcessImpl` constructor, there are two different character
  escape modes:
  - **Legacy mode**, which allows ambiguous commands.
  - **Non-legacy mode**, which does more rigorous escaping.
- Legacy is the default mode as long as `System.getSecurityManager()`
  returns `null`, which is the case for RuneLite currently.
  This mode can be changed by supplying the following VM argument:
  `-Djdk.lang.Process.allowAmbiguousCommands=false`.
  - Incidentally this also fixes the issue of loading natives with
    special characters in the path, however it applies to *all*
    `Runtime.exec()` calls.
- In legacy mode, the command is wrapped in quotes if it contains either
  a space or tab character. The command is then passed along to the
  native function `Java_java_lang_ProcessImpl_create`, which eventually
  passes it along untouched to Microsoft's `CreateProcessW` function as
  the `lpCommandLine` argument.
- In the documentation for this function, it is mentioned that an
  interpreter (i.e. `cmd.exe`) is required in order to run a `.bat`
  file. It is not specified what will happen if you instead pass the
  path to a `.bat` file directly to the function, which is what Gluegen
  ends up doing. However, `CreateProcessW` *does* support supplying the
  path to an `.exe`, which Gluegen will do when
  `jogamp.gluegen.UseNativeExeFile` is set to `true`.

It is unclear why supplying a `.bat` file normally works, yet breaks
when special characters are in the path. It seems like it should not
work in the first place.

This might help with #6509 and #14180.

Some other special characters, like Cyrillic letters, are more
fundamentally broken in RuneLite. This patch only slightly helps with
that.
2022-02-23 11:53:51 -05:00
Runelite auto updater
edf647f1ab Bump for 1.8.13-SNAPSHOT 2022-02-23 11:55:21 +00:00
Runelite auto updater
36ddf04b5f Release 1.8.12 2022-02-23 11:55:18 +00:00
RuneLite Cache-Code Autoupdater
37229a5fa4 Update Scripts to 2022-2-23 2022-02-22 19:26:49 -07:00
RuneLite Cache-Code Autoupdater
dcf1c579c0 Update NPC IDs to 2022-2-23 2022-02-22 19:26:49 -07:00
RuneLite Cache-Code Autoupdater
5f752957e4 Update Object IDs to 2022-2-23 2022-02-22 19:26:49 -07:00
RuneLite Cache-Code Autoupdater
f99232fc4f Update Item variations to 2022-2-23 2022-02-22 19:26:49 -07:00
RuneLite Cache-Code Autoupdater
44c8c3e1e4 Update Item IDs to 2022-2-23 2022-02-22 19:26:49 -07:00
Adam
816bb9e412 client: update archive-patcher to 1.2 2022-02-22 12:37:52 -05:00
Adam
f96f80f2da jshell: fix run/clear tooltips 2022-02-20 21:21:48 -05:00
Adam
109ad81473 screen markers: add marker labels
This adds a toggle to display the marker name as a label above the
marker

Co-authored-by: Skretzo <53493631+Skretzo@users.noreply.github.com>
2022-02-19 19:35:41 -05:00
Adam
9f5a3a7b3b screen markers: make ScreenMarkerRenderable implement RenderableEntity
This component is never added to the overlay componenet renderer so implementing LayoutableRenderableEntity was just unnecessary
2022-02-19 19:35:38 -05:00
Adam
d661c47447 screen markers: remove fill toggle
This predates the alpha colorpicker, so it sort of made sense at the time, but currently the same effect can be achieved by just changing the fill color alpha. Additionally the toggle doesn't really toggle it but instead changes the alpha between 0 and 75 - and not the alpha that is chosen by the picker.
2022-02-19 19:35:38 -05:00
Adam
5ddd089f3e screen markers: add a tooltip to border thickness spinner 2022-02-19 18:04:20 -05:00
Skretzo
260c923abe screen markers: fix visibilityLabel tooltip
The tooltip was not correctly toggling between show/hide when the visbility was toggled
2022-02-19 17:58:52 -05:00
Adam
c8ee879407 clues: add Yu'biusk clue 2022-02-18 19:44:48 -05:00
Adam
3ceb5d1552 clues: add Jimmy Dazzler clue 2022-02-18 19:44:21 -05:00
Nakst
d03421d294 cache: refactor ModelLoader.decodeOldFormat variable names 2022-02-15 13:49:03 -05:00
Christos-Apostolidis
bd1d97ecbe loot tracker: add hallowed sack 2022-02-14 13:42:54 -05:00
Adam
720b0d0273 linkbrowser: prefer xdg-open over Desktop.open and browse
Desktop.open/Desktop.browse doesn't work on Linux with gtk3

See JDK-8275494
2022-02-13 10:56:41 -05:00
Jeremy Plsek
9019d0833b notifier: set app name when using notify-send
If a notification is sent while the screen is locked, it says
"notify-send" instead of "RuneLite".
2022-02-13 00:00:32 -05:00
Adam
c81528b557 Update dnschange url
The old url now tries to sell users a vpn
2022-02-12 11:53:54 -05:00
Adam
f31a67bb2b gpu: apply hsl override to flat shade faces
The behavior of this was changed in 203 to include flat shade faces
2022-02-11 19:45:19 -05:00
Jordan Atwood
e4edddffbe widget overlay: Don't draw empty wilderness K/D box
The Wilderness and PVP kill-death information box is created while in
these areas regardless of whether the setting (configured via the notice
board at the Edgeville bank) is enabled to show the text, meaning the
widget contains only empty text widgets when the setting is disabled
rather than being null, causing a bounding box to still be drawn and
affecting other snapped widget layout. This commit adds a child class of
WidgetOverlay specific to this widget and prevents it from being drawn
when the setting to show this information is disabled.
2022-02-11 15:26:01 -05:00