Commit Graph
100 Commits
Author SHA1 Message Date
Max Weber 0928a3ab4c runelite-client: Don't consume keyReleased events
The client doesn't care if it gets erroneous keyReleased events, and fixing this is not entirely trivial.
2018-08-14 19:26:10 -06:00
Max Weber bac90876b0 Make the second argument of SpriteManager::getSprite work
I just blindly assumed that the arguments to net.runelite.cache.SpriteManager worked the same as Jagex's code, which is not true. In reality the second argument to getSprite(s?)asSpritePixels is always zero, and instead you have to decode the entire archive then select a sub image, rather than a subfile.
2018-08-11 01:35:32 -06:00
Max Weber b4f95f1f4b runelite-client: Always use the mapped price for items 2018-08-06 16:04:25 +02:00
Max Weber 594573faeb runelite-client: Make ItemManager's price update thread safe 2018-08-06 16:00:45 +02:00
Max Weber d0cb814442 cache-client: Return failure to the handshake Future 2018-08-04 02:42:28 -06:00
Max Weber dcd775cea4 mixins: Fix camera pitch relaxer not fully relaxing after a screen shake 2018-08-01 20:12:36 -06:00
Max Weber d581f3e55e runelite-client: Make hotkeys run on KeyPressed
Finding when keyUp actually happens is difficult because you have to store state to tell if a key is up on modifier or it's optional non-modifier. The current implementation is good enough for masking events, but not accurate enough for generating them

Fixes #4513
2018-07-31 02:16:12 -06:00
Abex e86b2f9a48 Merge pull request #4583 from Nightfirecat/fix-achievement-diary-plugin-requirements
Fix achievement diary plugin requirements
2018-07-30 15:42:20 -06:00
Max Weber af6d8b3bd3 fairyring: Always run scripts outside of chatbox input callbacks
ChatboxInputManager callbacks are always from a ScriptCallbackEvent so other scripts cannot be ran because runScript is not reentrant
2018-07-30 14:45:57 -06:00
Max Weber 6b045fbb96 runelite-client: Always call done after changed in ChatboxInptutManager
Also changed doesn't need to be called twice when escaping from the menu
2018-07-30 14:45:56 -06:00
Max Weber 0e9417963b runelite-client: Rename ClientThread::invokeLater to invoke
And add a invokeLater that actually invokes later all of the time
2018-07-30 14:45:54 -06:00
Max Weber 87bf71c1ff mixins: Prevent runScript from being called recursively
Due to the extensive use of globals in the ScriptVM it is not reentrant
2018-07-24 18:25:40 -06:00
Abex 1d31796fc5 Merge pull request #4350 from Abextm/hotkey-consumer
runelite-client: Consume hotkeys in HotkeyListener
2018-07-22 14:36:24 -06:00
Max Weber f1907fc7b1 mixins: Don't post mouse events that have already been posted 2018-07-19 06:32:38 -06:00
Max Weber ece31ad7c5 cluescrolls: Add description to map clues
The world map is nearly useless if the point is not on the "RuneScape Surface"
2018-07-19 02:33:27 -06:00
Max Weber 6f781bfc61 cluescrolls: Move banana plantation clue out of tree 2018-07-19 02:27:12 -06:00
Max Weber 181c4a0abf devtools: Show index on dynamic widgets in the tree 2018-07-17 18:19:03 -06:00
Max Weber af0fdb1d49 runelite-client: Add fairy ring search to fairy ring plugin 2018-07-17 18:19:02 -06:00
Max Weber 6b278d48a5 Add API to create new widgets 2018-07-17 18:19:01 -06:00
Max Weber b269a75c45 runelite-client: Allow ChatboxInputManager to callback early 2018-07-17 18:18:59 -06:00
Max Weber b83fcd4fc2 runelite-client: Handle releasing modifiers first correctly
if you pressed alt+a, the released alt then a hotkeyReleased would never be called
2018-07-16 17:58:40 -06:00
Max Weber 6a2ec1335a runelite-client: Consume hotkeys in HotkeyListener
KeyTyped consumer any non-modifier key while the hotkey is being pressed because there is no good way to determine if a KeyTyped event matches a Keybind due to it's keyCode being zeroed.
2018-07-16 17:48:18 -06:00
Max Weber 84f7807d1b runelite-api: Update autogenerated ID files to 171-7 2018-07-16 19:24:47 -04:00
Max Weber d7473bdb07 Rename Region to Scene 2018-07-16 03:45:20 -06:00
Abex 10ad7897a8 Merge pull request #4345 from aquivers/king-percival-clue-fairy-ring
Add fairy ring information to King Percival clue
Fixes #4344
2018-07-15 23:48:39 -06:00
Max Weber bf79c3237c cache: Relax label name constraints
Allows labels to be any reasonable identifier, not just `LABEL-?[0-9+]`

INSTRUCTION was changed to IDENTIFIER because if the LABEL rule is relaxed the lexer cannot tell the difference between a LABEL and a INSTRUCTION.
2018-07-15 10:38:45 -04:00
Max Weber 7d8804e737 farmingtracker: Fix cactus implementation 2018-07-14 03:04:42 -06:00
Max Weber f7470d84bb Update scripts to 171-6 2018-07-05 04:55:37 -06:00
Abex 80a0cd8da6 Merge pull request #4172 from Nightfirecat/fix-anagram-clue-npc-casing
clues: Fix casing of NPC names in anagram clues
2018-07-04 23:14:42 -06:00
Abex becbca79e5 Merge pull request #4085 from Nightfirecat/fix-wines
item stats: Add negative attack bonus to wines
2018-07-04 01:57:41 -06:00
Abex 361b80ddce Merge pull request #4165 from Nightfirecat/fix-capn-izzy-no-beard-clue-step
clues: Fix Cap'n Izzy No-Beard anagram clue
2018-07-04 01:20:19 -06:00
Max Weber 2c2a4d9f64 itemstats: Add variable healing food 2018-07-01 17:30:49 -06:00
Max Weber 4117472037 farmingtracker: Correct several patch timings
There were several places where the autogenerated patch implementations would double count a stage, and miss another. PatchImplementationTest now checks for missed stages, excluding the final stage because that is often missed on plants which do not have a "Check-health" stage. There were also a couple produces with incorrect tick counts.
2018-07-01 16:51:46 -06:00
Max Weber a96d13b6c9 mixins: Don't show siblings in dynamic widget's child lists
dynamic widgets can't have non-dynamic children because the load code can't refer to them because they can't be fully qualified by id.
2018-06-28 16:00:39 -04:00
Max Weber 8f1a345d96 runelite-client: Add a equals implementation to Keybind
Without this certain key combos that java doesn't support (fn+fkeys on laptops) are supposed to be hit by the equals check, but ofc they weren't
2018-06-26 05:36:27 -06:00
Max Weber 962bc58178 runelite-client: Don't use system specific modifier key names
Without this OSX shows a replacement character, see #4006. When/If #4006 is merged, this should be reverted.
2018-06-25 17:31:28 -06:00
Max Weber ef9bc957cb kourendlibrary: Make hiding the navbutton optional 2018-06-21 12:36:15 -06:00
Max Weber 80cdfd082c prayer: Remove the ring of the gods from the holy wrench list
Because it doesn't give the effect
2018-06-20 16:38:00 -06:00
Max Weber 64b9b7a168 kourendlibrary: Hide navbutton when not in the library 2018-06-19 14:03:53 -06:00
Max Weber a42906edbe screenshot plugin: Allow hotkey to be changed from insert 2018-06-19 13:28:24 -06:00
Max Weber bd99ada685 runelite-client: Add Keybind class for configs to save and set hotkeys 2018-06-17 12:19:43 -06:00
Max Weber 2146ccaa5e runelite-client: remove unused import in DemonicGorillaOverlay
introduced in 5ac839164
2018-06-16 12:32:17 -06:00
Max Weber 4bdd2e1b18 Update autogenerated ID files 2018-06-16 12:10:38 -06:00
Max Weber 929d77085c cache: consolidate ID class printing and split ObjectID
ObjectID hit the 32k field limit, so it needed to be split into multiple files to be updated.
2018-06-16 06:39:47 -06:00
Max Weber 456025e20d runelite-client: Prevent recursion when chat notifier notifies to chat 2018-06-14 08:37:53 -06:00
Max Weber 0ff91107b7 runelite-client: Test Overlay equality
If Overlay::equals returns true for different subclasses it breaks the OverlayManager, because it can no longer remove overlays correctly.
2018-06-14 08:36:40 -06:00
Max Weber e8f6a13d13 runelite-client: Allow new screenmarkers to be created
Previously they would get their positions nulled during OverlayManager:add because it loads them from the config
2018-06-13 03:13:30 -06:00
Max Weber 233629f221 runelite-client: Use an ArrayList to store overlays
The TreeSet was removing most overlays (except the ones I tested with) because they
were equal to the comparator.
2018-06-13 03:13:30 -06:00
Max Weber e0d70ab382 runelite-client: Make OverlayManager thread safe
There was something happening where rebuildOverlayLayers would race itself almost 100% of the time, preventing overlays from being removed.
2018-06-12 21:26:20 -06:00
Max Weber 39311a3328 runelite-client: add detached camera devtool 2018-06-08 02:57:34 -06:00
Max Weber 44d756a26b runelite-client: Allow developer-tools to run from the launcher
Packr doesn't let us add jvm arguments from the command line, so this disables the assertion check if the launcher version is present
2018-06-04 18:39:50 -06:00
Max Weber d97eef0c10 runelite-client: Don't fail on invalid config values. 2018-06-04 18:31:26 -06:00
Max Weber 7c048a00bc runelite-api: Correct actor documentation 2018-06-04 05:32:12 -06:00
Abex 78b6a5b836 interfacestyles: Run on game thread (#3129)
To prevent conflicts with game thread, move all client related logic to game thread
2018-05-23 13:16:57 +02:00
Max Weber e6d450bcd8 runelite-client: Require assertions when developer mode is on
Because we now have several thread checks that use assertions, but not many people have assertions on, so we keep getting code with threading problems that no one notices.

If for some reason you need developer mode with assertions disabled you can add `-ea:net.runelite.client.RuneLite` to your JVM params
2018-05-22 19:13:22 -06:00
Max Weber ff732f82c3 varinspector: Lazily initialize var arrays
Varcs is set during cache load, so we race it while starting
2018-05-22 12:56:23 -06:00
Max Weber 106e781cc7 devtools: Replace Var tracker with Var Inspector 2018-05-21 12:20:33 -06:00
Max Weber 572d92378a Allow get/setVarbitValue to operate on arbitrary varp sets 2018-05-21 12:20:33 -06:00
Max Weber 66ccd9c0d6 Add VarC events 2018-05-21 12:20:32 -06:00
Max Weber 64610ae08c Cleanup FarmingTracker panels 2018-05-19 15:13:22 +02:00
Max Weber 669b0a0ab9 Revert #2530 "Make VarbitChanged only fire once..."
This broke the speccounter plugin, and is moderately incorrect because client scripts can update varbits before a tick has happened, and the event should reflect that.
2018-05-15 03:36:16 -06:00
Max Weber bc1f3530aa Rename varcstrings > varCStrings 2018-05-14 18:58:04 -06:00
Max Weber 97a5031c1b Rename varcs > varCInts 2018-05-14 18:57:59 -06:00
Max Weber 7cc726097f cache: Strip tags from java names 2018-05-14 03:26:38 -06:00
Max Weber 220add92fd runelite-api: Update ID files 2018-05-14 03:26:21 -06:00
Max Weber eb63fa2d30 kourendlibrary: Fix for rev 170 menu code
The X/Y gets unpacked into the ActionParam and WidgetID now
2018-05-11 02:17:15 -06:00
Max Weber 43c6cc8afe groundmarkers: Fix NPE in drawTile 2018-05-11 00:48:22 -06:00
Max Weber 3e21453d7a runelite-api: Annotate Perspective methods with @Nonnull
This is in an effort to make NPEs in render methods happen slightly less
2018-05-11 00:46:23 -06:00
Max Weber c9d0abc1c3 Make VarbitChanged only fire once, after everything has settled 2018-05-10 21:01:04 -06:00
Max Weber 6f55163152 http-api: print a more helpful error message when resources are not filtered 2018-05-10 17:47:58 -04:00
Max Weber d34cd62481 Add Burgh de Rott map clue 2018-05-09 01:34:38 -06:00
Max Weber 8a9b28db05 runelite-client: Make notification options not mutually excusive
#2180 made it so Windows users could not have sound and a tray notification at the same time. This splits the enum into separate booleans
2018-05-08 16:23:59 -06:00
Max Weber 5da9d697da Add SpriteManager to get sprites from the cache. 2018-05-08 17:23:53 -04:00
Max Weber d1d93f05e0 runelite-client: Log uncaught exceptions
Previously exceptions would be printed to stderr, and not show in log files.

This also adds a case for AbstractMethodError because it almost always means the injector needs to be re-ran.
2018-05-06 01:02:36 -06:00
Max Weber f3a8cd9ba9 farmingtracker: Prevent saving when teleporting
When teleporting to a updating region (ardy teleport), it would save the new region's varbits to the old region's config.
2018-04-30 18:14:59 -06:00
Max Weber efa67d7c93 Rename SettingsTracker 2018-04-30 16:27:52 -06:00
Max Weber 7f190f2534 Merge Varcs into Client::getVar 2018-04-30 16:17:04 -06:00
Max Weber 33d6b9bdb7 Rename Setting to VarPlayer 2018-04-30 16:03:49 -06:00
Max Weber afebe6dbda runelite-client: Cleanup cli arguments 2018-04-30 15:12:29 -06:00
Max Weber 198002c5e5 Add missing U+00A0 NO-BREAK SPACE character
Some system locales use the non-breaking space character as a numeric delimiter, causing the replacement character to be used
2018-04-27 23:58:29 -06:00
Max Weber 5e479292e0 configmanager: Allow multiple delimiters 2018-04-27 17:19:55 -06:00
Max Weber 7eabc16806 Add FarmingTracker plugin
With help from NotFoxtrot
2018-04-26 21:33:56 -04:00
Max Weber 7645d6a04f Allow PluginPanels to opt-out of the scrollbar
For panels with tabs it is best to have the scrollbar inside of the tab pane, not around it.
2018-04-26 19:46:27 -04:00
Max Weber 16aca14f7f Add WorldPoint::getRegionID 2018-04-26 19:46:26 -04:00
Max Weber f0b1f0e8b0 Add UsernameChanged event 2018-04-26 19:46:25 -04:00
Max Weber eef0839c2d Add various animation IDs
From NotFoxtrot
2018-04-26 19:46:24 -04:00
Max Weber 30e70bb9d1 cache: Name ObjectDefiniton's varpID and configID correctly 2018-04-26 17:26:15 -06:00
Max Weber 8cd5675d36 Use ItemManager in GrandExchangePlugin 2018-04-26 14:53:44 -06:00
Max Weber 30413c0257 Use ItemManager in KourendLibraryPlugin 2018-04-26 14:53:30 -06:00
Max Weber b3fa9a5e49 Allow ItemManager to be ran off the client thread
This allows the ItemManager to return a blank BufferedImage if it's not called on the client thread. This also makes it not render the image until the cache has been downloaded
2018-04-26 14:53:00 -06:00
Max Weber d680c91c19 Allow ClientThread to re-run invokeLater-ed methods 2018-04-26 13:59:44 -06:00
Max Weber 5054caffa1 Initialize ItemManager to a complete state
This reverts e3637fbb27868c42b9acb7c9f2a8f4308179e143 , changing it so RuneLite gets it's ItemManager late, as opposed to the ItemManager being constructed in a invalid state.
2018-04-26 13:59:44 -06:00
Max Weber 605646a84c tithefarmplugin: Fix null pointer when crops near camera 2018-04-25 19:11:19 -06:00
Max Weber 184c4c91a7 Rename setClickMask()I > getClickMask()I
This made maven unable to do a incremental build for some reason.
2018-04-12 06:27:25 -06:00
Max Weber 7c51bda554 Fix ChatboxInputManager 2018-04-12 06:09:54 -06:00
Max Weber 39a78166dc Allow MenuOptionClicked events to be consumed 2018-04-12 05:55:57 -06:00
Max Weber 0680fe5940 Fix bank tags plugin 2018-04-12 05:55:49 -06:00
Max Weber f63c9a3347 Fix zoom plugin 2018-04-12 05:55:49 -06:00
Max Weber 44c740f21e Add ChatboxInputManager to provide a RuneScape styled input box 2018-04-01 16:16:27 -04:00
Max Weber aa02da45c0 Allow assembly and loading of new scripts 2018-04-01 16:16:27 -04:00