Commit Graph

17470 Commits

Author SHA1 Message Date
Owain van Brakel
eefd891cb7 project: Bump OpenOSRS version 2022-03-09 22:44:29 +01:00
Owain van Brakel
40e9acfd09 project: Bump RuneLite version 2022-03-09 22:44:05 +01:00
Owain van Brakel
37dea6f94a Merge remote-tracking branch 'runelite/master' 2022-03-09 22:43:12 +01:00
Runelite auto updater
4eb0fb56e3 Bump for 1.8.14-SNAPSHOT 2022-03-09 16:29:02 +00:00
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
Owain van Brakel
319246ce57 Merge remote-tracking branch 'runelite/master' 2022-03-09 09:03:02 +01: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
Owain van Brakel
7ebe91e176 mixins: Add mixins for selected items 2022-03-09 02:34:35 +01:00
Owain van Brakel
eabe39df6e configmanager: Whoops forgot to add this 2022-03-09 02:34:15 +01:00
Owain van Brakel
7cab454a0a Merge remote-tracking branch 'runelite/master' 2022-03-09 01:50:40 +01:00
Owain van Brakel
5ab766c256 Merge remote-tracking branch 'runelite/master' 2022-03-09 01:47:04 +01: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
Justin
bb07875400 Merge pull request #3136 from JumpIfZero/feature/widget-mixins
mixins: add widget size and pos setters
2022-03-03 08:57:42 +11: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
JumpIfZero
2d8a9522df mixins: add widget size and pos setters 2022-03-02 14:39:38 +02: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
Owain van Brakel
95807b7bd7 Merge pull request #3134 from open-osrs/upstream-2002 2022-02-23 18:20:52 +01:00
Owain van Brakel
d19926a873 Merge pull request #3135 from l2-/loginscreenbackground 2022-02-23 18:20:43 +01:00
Owain van Brakel
e866abc1de Merge pull request #3133 from l2-/oo_entity_hiding 2022-02-23 18:20:35 +01:00
Owain van Brakel
aef2b59871 project: Bump RuneLite version 2022-02-23 18:14:10 +01:00
Owain van Brakel
5d0adbc983 Merge remote-tracking branch 'runelite/master' 2022-02-23 18:12:36 +01: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