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
AdamandSkretzo 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