Commit Graph
100 Commits
Author SHA1 Message Date
AdamandJason Barr 5fc784f082 item charges: fix rof tracking with varrock platebody
When the varrock armour effect triggers it will smelt two bars at once,
using two charges, unless there is only one ore remaining where it will
use only one charge.

Co-authored-by: Jason Barr <58792686+JBarr2710@users.noreply.github.com>
2021-10-03 22:49:42 -04:00
Adam 4ca3db6358 Fix ground marker minimap overlay position
The ground marker minimap overlay gets a local point for the tile to mark from fromWorld()
and passes it to localToMinimap() - but because the adjustment of -1, when the player position
is subtracted from it to compute the minimap location it causes the computed position to be off
by a full tile.

Additionally, drawRect() width and height is inclusive so the width/height must be subtracted by 1
2021-10-01 19:09:03 -04:00
Adam e60ce99081 spec counter: add Dinh's bulwark 2021-09-30 17:47:09 -04:00
Adam 8d537cabf1 api: add clan ids and accessors 2021-09-30 16:37:35 -04:00
Adam b6316b4772 api: move Favour to achievementdiary plugin 2021-09-29 10:23:36 -04:00
Adam 87dda2d54e api: mark runtime classes as final 2021-09-28 20:19:01 -04:00
Adam 31007d3437 api: add runtime jar
This jar excludes classes we know can never be referenced at runtime, which currently takes the resulting jar from 1.1MB to .3MB
2021-09-28 20:18:40 -04:00
Adam 8c2d7bd2f4 perspective: refactor localToCanvas
Use variable namings from modelToCanvas
2021-09-22 15:07:41 -04:00
Adam 3d79ab60a2 perspective: add gpu projection for modelToCanvas
GPU uses an alternative projection to avoid vertex snapping. Usually
this doesn't matter much, and in the worst case causes the discrepancy
to be only a few pixels, but with the model outline feature it causes
the outlines to be noticibly off when GPU is enabled.

This adds a second model-to-canvas method using the alternative
projection and uses it when GPU is enabled.
2021-09-22 15:01:41 -04:00
Adam 4cab29cf2f api: remove cachedModels2 and nodecache setters
This is being moved internally since it benefits areas like the farming guild even with gpu off
2021-09-21 11:09:51 -04:00
Adam 642677d6e2 http-service: assign name to scheduler thread 2021-09-21 11:02:15 -04:00
Adam 1505f34ace Update okhttp to 3.14.9 2021-09-21 10:58:56 -04:00
Adam fc183c13af xp tracker overlay: treat counter=off progressbar=off as hidden
If the xptracker is shown, but both counter and progress bar set to off, the xp tracker layer is not actually hidden but only has hidden children. This causes the overlay renderer to layout things around the invisible xptracker. Avoid this by checking the vars for the xptracker to see if it is hidden or not.
2021-09-19 15:44:49 -04:00
Adam df231d1ff9 xtea: skip unknown map regions
The client will include keys 0,0,0,0 for unknown map regions, which should just be skipped over instead of failing the entire request
2021-09-16 17:12:49 -04:00
Adam 4e0211b490 ground markers: add fill opacity config 2021-09-14 11:40:57 -04:00
Adam e56562f54a api: add scene tile shapes, underlay, and overlay ids 2021-09-12 10:01:06 -04:00
Adam 37654452c3 api: add model vertex normals 2021-09-12 10:01:00 -04:00
Adam a231192578 client: update jna to 5.9.0
This is required for macos aarch64 support
2021-09-11 11:05:36 -04:00
Adam 3c5f812331 npc overlay: clear highlighted npcs on logout
Despawn events don't fire for npcs on logout, copied from the npc highlight plugin
2021-09-11 10:53:05 -04:00
Adam 9cd1cbcea0 music: check game state before applying sliders on startup
This accesses vars, which typically cannot be accessed when not logged in, or in early startup
2021-09-11 00:03:21 -04:00
Adam 9cadc62eba widget overlay: correct raids points overlay position 2021-09-10 18:05:25 -04:00
Adam c5586123c8 npc overlay: set lower priority on npc change and despawn handlers
Similar to spawn, these need to run after plugins for most of the highlight functions to work correctly
2021-09-09 20:38:03 -04:00
Adam 342e0169e3 npc minimap overlay: use unmodified highlight color
The darker() is originally from the npc indicators minimap overlay, but other plugins now using this such as impling plugin do not expect this.

If we require the minimap colors to be different later we should add a separate property specifically for it.
2021-09-09 12:44:43 -04:00
Adam 178638b73b external plugins: require assertions when loading builtin plugins 2021-09-07 14:26:06 -04:00
Adam 58fb78ff00 runecraft: use npc overlay service 2021-09-06 21:45:15 -04:00
Adam 4a9b650249 corp: use npc overlay service 2021-09-06 21:45:14 -04:00
Adam c52667a5cc Move npc highlight overlay to core
This allows the other plugins which depend on the npc overaly to work
when npc highlight plugin is off, while still letting them use the
consistent highlight style of the central overlay.
2021-09-06 21:45:14 -04:00
Adam 99100979df npc highlight: fix npe rendering minimap names on npcs with no name 2021-09-06 21:41:33 -04:00
Adam 97095b41f8 ui: force heavyweight tooltips on macos
Lightweight components do not render correctly over AWT canvases on
MacOS. The popup factory API to override this is not available on 8, so
add an 11-specific popup factory to override it by using a multi-release
jar.
2021-09-05 16:56:01 -04:00
Adam 2cdd1be7d8 pom: remove source/target configuration on maven-compiler-plugin
On Java 11, which we require for building, the compiler accepts
--release 8 and no longer requires -source or -target, so these are
unnecessary
2021-09-05 16:10:37 -04:00
Adam cdbb0a3aa7 api: make getCanvasTilePoly work on multi-tile npcs 2021-09-05 11:49:43 -04:00
Adam adf0d75be8 wiki: move icon to match vanilla position 2021-09-04 12:32:21 -04:00
Adam ef3622c05a api: flatten model uvs
This drastically reduces the number of allocated float arrays on the heap just by flattening the uvs into a single array per model
2021-09-03 15:04:08 -04:00
Adam a3d33bee0d logback: add duplicate exception filter
This only applies to marked logged messages for overlay rendering and event subscribers, which are common sources of exceptions in 3rd party plugins
2021-09-03 11:45:06 -04:00
AdamandMax Weber e37292267b use maven's native reproducible build support
Co-authored-by: Max Weber <mii7303@gmail.com>
2021-08-31 10:38:25 -04:00
Adam b42932d581 loot tracker: add world id to loot record for dmmt 2021-08-30 11:05:33 -04:00
Adam a772eebf09 world hopper: bubble up mouse events from activity label
This fixes hopping and mouseover on the activity label not working
2021-08-27 19:59:27 -04:00
Adam 6723fb3205 overlay: only layout widget overlays if the preferred location is set
With the new steam client updates, the client tries to aggressively
move around several of the widget overlay components, including xp
tracker, and several hp bars. This tends to fight with the layouting we
already do with the widgets.

This changes the widgets to only be layouted if the overlay has a
preferred location or position set. Otherwise, it will offset the snap
corner bounds by where the client has positione the widget.

It is still possible to get the client ui to fight the widget overlay by
moving the overlays around manually, but it should no longer happen in
the default positioning of the widgets.
2021-08-27 16:59:26 -04:00
Adam ed5ae02bc3 world hopper: set activity tooltip on world list 2021-08-25 09:15:26 -04:00
Adam 719022c044 Update world types for seasonal deadman 2021-08-25 08:06:40 -04:00
Adam b695ca8689 ge: fix detecting dmmt world type 2021-08-24 18:59:55 -04:00
Adam c3c1222570 chat commands: update to parse new adv log pb counters 2021-08-23 17:03:07 -04:00
Adam e9665f3504 implings plugin: use npc indicators for impling overlay 2021-08-22 16:51:51 -04:00
Adam ec7af70da4 npc indicators: allow plugins to specify highlight styles
After changing the slayer plugin to use npc indicators for the outline
style, some users request being able to set the color of slayer
highlights to be unique in order to identify marked npcs such as
superiors while slaying. This readds the previous target color config
and adds new highlight style options to the slayer plugin.
2021-08-22 16:51:47 -04:00
Adam 442c6105ce chat commands: rename tob story mode to entry mode 2021-08-22 15:33:08 -04:00
Adam 7d89f5a52f xp updater: don't send updates for dmm, leagues, or beta worlds 2021-08-21 18:59:31 -04:00
Adam e9c252e227 chat channel: fix join/leave world hop detection
The ChatPlayers do not implement equals or hashCode, making them
unsuitable as a hashmap key. Instead just use a linked list and compare
the members using the comparable interface.
2021-08-21 15:41:53 -04:00
Adam d0714b5016 api: add type parameter to Comparable 2021-08-21 15:26:12 -04:00
Adam 541e20c592 clientui: fix restoring sidepanel when expanding sidebar
Closing and opening the sidebar when the side panel is collapsed
currently expands the side panel to the most recently opened panel,
even if it was collapsed at the time the sidebar was closed, and also
incorrectly doesn't set the nav button as selected.

This changes the behavior of expanding the sidebar to not open the side
panel if it was not opened at the time the sidebar was closed.
2021-08-17 16:02:55 -04:00
Adam b0b41a612a clientloader: fix loading classes in packages 2021-08-17 15:50:34 -04:00
Adam 06b6f845e8 config manager: fsync temp config file 2021-08-14 11:31:22 -04:00
Adam 8fa085f4f9 ping: add macos support for icmp ping 2021-08-13 18:01:12 -04:00
Adam 36f97aa412 woodcutting: remove respawn timers from construction trees 2021-08-12 16:01:41 -04:00
Adam 33ff3a2749 npc indicators: add fill color config 2021-08-11 19:30:07 -04:00
Adam a595673974 widget overlay: lower priority of oxygen and hp interfaces
The client attempts to force these to always be below the xp tracker,
and having them at an equal priority can cause our overlay renderer to
fight it by laying out them above the xp tracker
2021-08-08 21:18:20 -04:00
Adam 795c0e4a07 widget overlay: rebuild overlay layers when xp tracker moves
The overlay layers are sorted by position and then by priority, so
changing the position without rebuilding them is incorrect.
2021-08-08 21:17:47 -04:00
Adam a8e745ac62 interact highlight: set overlay priority to high
This is to place it above npc indicators
2021-08-08 13:45:36 -04:00
Adam c68bf31f6b redis pool: don't reuse broken jedis instances 2021-08-08 11:39:53 -04:00
Adam c7b444d892 slayer plugin: use npchiglight for task highlights 2021-08-08 11:37:35 -04:00
Adam 0a86fe35af widgetoverlay: support detached overlays
This adds support for moving the wilderness icon layer, which is not in
an area near a snap corner. With no preferred location set the overlay
adjusts its bounds to the widget bounds and will not adjust the widget
position.
2021-08-05 11:39:40 -04:00
Adam 912a68effa http service: add pets list length check
0 length lists cause a redis exception from sadd, which I think is not being handled correctly by jedis and leaking the error into further commands
2021-08-04 17:19:49 -04:00
Adamandjsuarez5341 87b8fe0c87 antidrag: enable in pvp
This feature is enabled in the steam client

Co-authored-by: jsuarez5341 <sealsuarez@gmail.com>
2021-08-04 11:37:52 -04:00
Adam 327218af9c hiscore: switch to dmmt hiscores 2021-08-03 21:10:31 -04:00
Adam 4d845e5862 api: add menu location and size accessors 2021-08-01 16:09:12 -04:00
Adam 44134dc668 poh: fix burner overlay timers
The object spawn event happens after the lighting animation, which was
causing it to create a new burner with the default timers applied
instead of the one applied via the fm level.

Also fix computing upper limit on the random timer which is not
inclusive of the fm level
2021-08-01 12:38:44 -04:00
AdamandKevin 240ec79da0 loot tracker: add ruins of camdozaal vault lockboxes
Co-authored-by: Kevin <kevin.weiyih@outlook.com>
2021-07-31 18:56:56 -04:00
AdamandEirik Leikvoll e276d5e5ce Add interact highlight plugin
Co-authored-by: Eirik Leikvoll <12532870+LeikvollE@users.noreply.github.com>
2021-07-29 18:11:26 -04:00
Adam 87c72e94a3 chat commands: fix parsing nightmare pb 2021-07-28 16:32:08 -04:00
Adam 45b85bff6a api: fix naming of menuoptionclicked params 2021-07-28 11:30:25 -04:00
Adam b9e772be54 api: remove many unused projectile ids 2021-07-25 19:52:47 -04:00
Adam 7854c6f096 chat commands: fix parsing nightmare nb 2021-07-23 17:19:39 -04:00
Adam c5514740e4 clues: fix Shayzien Infirmary clue challenge 2021-07-23 16:09:13 -04:00
Adam 671ef69db6 chat commands: use script event for loading col log pets 2021-07-21 14:33:42 -04:00
AdamandIllya Myshakov 21a7bf4906 chat commands: add pets command
Co-authored-by: Illya Myshakov <imyshako@uwaterloo.ca>
2021-07-17 10:15:10 -04:00
Adam 5f3d6dfdcb menu entry swapper: add sacrificial boat quick board swap 2021-07-15 16:00:21 -04:00
AdamandAttrolantra 47828526f4 report button: add idle time
Co-authored-by: Attrolantra <ebrie3@gmail.com>
2021-07-15 12:51:58 -04:00
Adam 845ca463d5 item identification: clean up config enabled checks 2021-07-14 22:59:22 -04:00
Adam e027955e8a slayer plugin: fix sire vent kills from counting as task kills
All kills of abyssal creatures must give at least a 75xp drop, so we can just exclude any xpdrop that is 50 or less
2021-07-14 11:02:29 -04:00
Adam 850bf3d333 api: fix computing scene coord for negative local points
Also add an isInScene method to make testing if a point is in the scene
easier, and use it.
2021-07-05 13:47:59 -04:00
Adam 557921950a object indicators: don't mark unnamed objects 2021-07-05 13:46:06 -04:00
Adam 5d420ae57b Close various resource inputstreams 2021-07-04 15:30:44 -04:00
Adamandwclander 6b11afd907 inventory viewer: add option to hide when inventory is open
Co-authored-by: wclander <wclander@rogers.com>
2021-07-03 19:45:14 -04:00
Adam c1d61b37e6 http-service: fix hiscore test 2021-06-30 16:36:07 -04:00
Adam 478b833337 Revert "http-service: fix hiscore test"
This reverts commit 4041ad4a33.
2021-06-30 16:27:40 -04:00
Adam d2c72ee59b tile indicators: add border width config 2021-06-29 20:51:32 -04:00
Adam c4a93d4d81 chat icon manager: update clan rank to idx mapping
Nobody was added with key -6
2021-06-23 04:59:13 -06:00
Adam 2aa272f24d api: add actor overhead cycle accessors 2021-06-21 22:55:16 -04:00
Adam a2eb773e20 menu swapper: add enter-crypt to quick swap
This is for Sarachnis
2021-06-20 18:46:39 -04:00
Adam 6fc38ed918 discord: fix npe from menu event timing out with elapsed total time
Setting the start time to null isn't necessary, since IN_MENU is marked
shouldRestart, it always resets the start time when the status is changed to
menu. This was clearing it, forcing a presence update, and then erroring when
trying to compute the original start time. It also would have never really unset,
even if it wasn't erroring later, due to IN_MENU also being unclearable, and
so would have never been removed in the first place.

Additionally the status reset test is also wrong since it is testing the end
timestamp which has never been used by us, making the test useless.
2021-06-17 00:13:12 -04:00
Adam 23ce90275f loot tracker: add reset warning to event reset option 2021-06-15 19:07:09 -04:00
AdamandZeusay 159c239908 xp drops: add option to override standard client xp drop colors
Co-authored-by: Zeusay <kentgamesdesign@Gmail.com>
2021-06-13 19:13:13 -04:00
Adam 0580e32cc6 screenshot plugin: name tob hm/sm files differently 2021-06-13 18:32:20 -04:00
Adam 35ddeebf04 screenshot plugin: add tob story and hard mode screenshots 2021-06-13 18:12:55 -04:00
Adam 79b18d43aa screenshot plugin: make subdir strings constants 2021-06-13 17:32:34 -04:00
Adam 5db59f083e screenshot plugin: consolidate kill count fields 2021-06-13 17:31:29 -04:00
Adam 86a79a1509 Remove examine api
The non-items examine info has been broken for years, and the wiki already has item examines anyway, so we can use those in the future if we need them.
2021-06-13 15:25:04 -04:00
AdamandGG46KG 141d4eac0d menu swapper: add achievement diary items with non-standard teleport options
Co-authored-by: GG46KG <cvernino@att.net>
2021-06-12 17:04:36 -04:00
Adam 53e257ce17 api: add widget line height accessors 2021-06-11 15:57:34 -04:00
Adam d4078a9555 ground markers: add configurable border width 2021-06-11 13:06:01 -04:00
Adam 798ed5e027 chat commands: update tob duration pattern 2021-06-10 17:07:33 -04:00