Commit Graph
100 Commits
Author SHA1 Message Date
Adam 9349ea84bb cache: remove http-api dependency
This was only for the xtea client, which we don't use anymore anyway. Instead allow XteaKeyManager to read from an input stream.
2021-12-22 15:46:28 -05:00
Adam b6e17cd15e http-service: move several hardcoded urls to config
Also make an OkHttpClient bean and use it everywhere
2021-12-22 15:29:51 -05:00
Adam ae5614ce6a api: remove set/get game drawing mode
This is being moved internally
2021-12-21 23:25:23 -05:00
Adam 438b4004e7 config manager: remove migrateConfig 2021-12-21 23:11:32 -05:00
Adam c1aa0c4898 client: move jagexcache into .runelite 2021-12-21 23:04:24 -05:00
Adam 50a2d2f73f config manager: increase sendConfig delay to 5 minutes 2021-12-21 23:01:34 -05:00
Adam 171d9bb7cf scripts: remove scripts
These aren't used anymore
2021-12-20 18:33:03 -05:00
Adam 7dd504fdf5 http-service: remove cache controller
This has never been used and just encourages misuse due to how expensive the requests are
2021-12-20 18:28:18 -05:00
Adam 39b8b84aaf chat message manager: fix recoloring gim messages
gim messages must always start with | and can't have a leading col tag
2021-12-20 17:31:28 -05:00
Adam 0db23d4d7a ci: use adoptopenjdk 2021-12-18 15:17:28 -05:00
Adam 46bb6f81bb Update logback to 1.2.9
logback-parent isn't really a bom but instead includes other unrelated
depenedncies like mockito and jodatime, and so I am just adding the
individual logback and slf4j dependencies themselves. Also add
slf4j-simple in dependencyManagement for the various test dependencies
we have on it.
2021-12-18 15:16:24 -05:00
Adamandsam 0f52e3ff18 menu swapper: fix built in swaps overriding custom swaps
If a swap is configured for the item, never enter into the built in swapping logic. Even if the swap was not applied for this entry, assume either it has already been applied or will be later.

Co-authored-by: sam <dasistkeinnamen@gmail.com>
2021-12-18 11:21:42 -05:00
Adamandsam 8fa819d035 menu swapper: don't show default action if one isn't configured
Currently it is ambiguous if the configured action is the default action or there is no configured action because either way it prepends a * to the default op.

Co-authored-by: sam <dasistkeinnamen@gmail.com>
2021-12-18 11:21:38 -05:00
Adamandsam 406ce7bd6b menu swapper: use menu callback for swap config
Co-authored-by: sam <dasistkeinnamen@gmail.com>
2021-12-18 11:21:29 -05:00
Adam e458507953 ground items: fix collapsing item examine 2021-12-16 18:03:03 -05:00
Adam d730046cdc ge: fix showing active trade price on buy offers
The previously added script event was only for sell offers. Also remove buy limit from sell offers since it is not applicable.
2021-12-16 18:03:03 -05:00
Adam b3c4465e73 Move hiscore client to rl-client
Thie removes the http-service hiscore api, which we haven't used in
awhile and doesn't work in practice due to upstream rate limits, as well
as the xp tracker which also hasn't been used in a long time since there
are now multiple quality community run xptrackers.
2021-12-14 20:24:22 -05:00
Adam e04a6becd2 grandexchange: remove osb ge client 2021-12-14 18:48:37 -05:00
Adam 1892adf6ca hiscore: add nex 2021-12-13 19:20:01 -05:00
AdamandDasgust 62bb21a516 chatchannels: display online member count
Co-authored-by: Dasgust <dasgust@gmail.com>
2021-12-13 17:49:36 -05:00
Adam 36e670112e widget inspector: add listeners 2021-12-13 17:37:38 -05:00
Adam 51cab2a3d8 nmz: fix point overlay flickering with unlocked fps 2021-12-12 13:17:04 -05:00
Adam a3ed6c089f gpu: add model hsl override support 2021-12-12 11:32:12 -05:00
Adam e956ed1ba7 ge plugin: compact buy offer examine text
The examine text, buy limit, trade price, and fee info does not fit on
the interface anymore since the addition of the fee info. This compacts
the examine text as well as places the limit / trade price on the same
line in order to prevent pushing the fee off of the bottom of the
border.
2021-12-12 10:02:59 -05:00
Adam 1d5c63bfac rl-client: build test jar 2021-12-11 15:10:23 -05:00
Adam 4fe37f978c friendslist: add option to hide per-friend login notifications 2021-12-10 15:06:55 -05:00
Adam a585253d36 chatfilter: add clan message types 2021-12-10 12:32:03 -05:00
Adam 409d0dda76 api: make MenuEntry an interface
This adds a new createMenuEntry api method to make MenuEntries instead.
Menu entries now have an associated callback called when they are
clicked on, avoiding most plugins from having to hook separately to
detect the menu click. Additionally get/set type has changed to take a
MenuAction.
2021-12-09 13:56:40 -05:00
Adam 5156be0371 tile indicators: add config sections 2021-12-08 12:43:56 -05:00
Adam a54b3d149f loot tracker: aggregate kills prior to inserting
In most cases this saves a number of queries since the loot tracker data
is submitted in 5 minute batches
2021-12-07 19:52:09 -05:00
Adam 9cd7060035 config service: avoid raising a json exception on non json input
The config service accepts in strings instead of json strings, however
this causes the normal control flow to throw a json parsing exception.
Since this happens so frequently it is using a measurable amount of CPU
time, so avoid it in the common case by testing if the string is json
first
2021-12-07 19:50:52 -05:00
Adam a05655f412 screenshot plugin: test screenshot filenames 2021-12-05 12:13:18 -05:00
AdamandEvan 9564e13d0f screenshot plugin: add combat achievements
Co-authored-by: Evan <55665020+EvanDeadlySins@users.noreply.github.com>
2021-12-05 12:06:28 -05:00
Adam 60c8377b2e screenshot plugin: reorder config 2021-12-05 12:06:21 -05:00
Adam 8944eb9be6 mes: add left click customization 2021-12-01 16:41:22 -05:00
Adam d45d79c2ce chat history: remove group Clear history option
This was added with today's update
2021-12-01 12:07:53 -05:00
Adam 6ec534b396 hiscore: use hiscore endpoint for world for player lookup op 2021-11-30 17:04:54 -05:00
Adam f6a3d222b4 world hopper: allow selecting multiple region filters 2021-11-30 16:57:40 -05:00
Adam 095a0e6257 config: add support for enum sets 2021-11-30 16:57:40 -05:00
AdamandRon Young c3880a8c74 ui: highlight selected cells correctly
Co-authored-by: Ron Young <admin@ryoung.io>
2021-11-30 16:57:40 -05:00
Adam dcf4528456 config panel: refactor input components creation into methods 2021-11-28 21:27:37 -05:00
Adam ab471aa13a chat history: include clan system messages 2021-11-28 17:58:05 -05:00
Adam 90f200be53 chat message manager: don't apply color changes to message nodes
Apply the color changes at chat build time directly to the message being
set on the component, instead of prepending the color change onto the
message itself.

This is a bit more robust since it doesn't break things which depend on
the chat message not starting with a color, which they would not
otherwise, such as the chat filter.
2021-11-28 17:34:21 -05:00
Adam 79cf2cb271 Add gim clan chat types 2021-11-27 09:08:11 -05:00
Adam dc49bfa43d logback: use SizeAndTimeBasedRollingPolicy
SizeAndTimeBasedFNATP is deprecated and causes a warning to be logged at startup
2021-11-23 11:21:50 -05:00
AdamandKevin 8760471818 loot tracker: add mahogany homes supply crate
Co-authored-by: Kevin <kevin.weiyih@outlook.com>
2021-11-22 22:28:00 -05:00
Adam c56c26ff48 barrows: fix vanilla overlay flashing with unlocked fps
The flashing is caused by the vanilla overlays being hidden by the
detached overlay after being drawn, and so the remaining frames before
the next tick would have them hidden. Just always hide the overlay in
BeforeRender so that they are never drawn when the plugin is on.

Also add a quick check if the barrows region is loaded before trying to
draw the barrows brothers minimap overlay.
2021-11-21 18:03:31 -05:00
Adam e36e362aa1 chat commands: update duel arena messages 2021-11-18 17:23:06 -05:00
Adam 58bc37f051 screenshot: update duel arena messages 2021-11-18 17:23:06 -05:00
Adam 60f920694e timestamp: immediately apply color config changes 2021-11-16 16:08:59 -05:00
Adam 40ab68a971 timestamp: use steam client chat timestamp support
The chat building scripts have variables now for message timestamp, so we can just assign our timestamp to those instead.
2021-11-16 16:08:59 -05:00
Adam 13ecfc0a9e gpu: add sync mode config
This allows the additional OFF mode which has the client manage its own
frame rate target without the use of vsync. On lower end systems which
have a hard time delivering a frame in the vsync interval this can give
a noticible performance improvement since it doesn't stall the cpu
waiting for the next vblank when a frame is skipped
2021-11-14 17:33:01 -05:00
AdamandJordan Atwood 1362af414a chat filter: Ignore character accents for matching
This lets plain latin-character filters to match messages with accents
and diacritics which are not easily typed on all keyboard layouts.

Co-authored-by: Jordan Atwood <jordan.atwood423@gmail.com>
2021-11-13 10:15:42 -05:00
Adam 67f7e7f488 clues test: remove unnecessary stubbing 2021-11-12 20:02:42 -05:00
Adam 706b9bdba0 clues: remove unnecessary item array copy
The array returned by getItems() is always a new array and so does not require copying
2021-11-12 09:17:13 -05:00
Adam 020d26ce7f Revert "crowdsourcing: Add varbit crowdsourcing (#13212)"
This reverts commit 685ec4524e.
2021-11-11 10:00:59 -05:00
Adam 70d916af52 banktags: remove setBankScroll event
This hasn't worked in awhile since it was assining the scroll value to the
wrong variable. Now we are computing the scroll in onScriptPreFixed for
[proc,bankmain_finishbuilding], so it is no longer necessary here.
2021-11-10 21:38:29 -05:00
Adam c8ec004b7a banktags: improve bank scrollbar updates
With tag tab tab or "Remove tab separators", the scrollbar height needs to be
adjusted to account for either many tag tabs (which requires scrolling to see)
or the hiding of the tab separators. This is because we artifically filter the
bank results without keeping the bank in searching mode, causing the vanilla
code which usually computes the scroll height to be incorrect.

The existing code does this by manually invoking [proc,update_scrollbar] later
with the recomputed scroll height. Now that invokeLater runs next tick and not
next frame, this leaves several frames with the scrollbar the incorrect size.

The desired scroll height is passed to [proc,bankmain_finishbuilding] in
argument int12, so instead we recompute the scroll height and overwrite the
script argument prior to execution.
2021-11-10 21:38:29 -05:00
Adam f71397f3f1 banktags: remove extra space in chatbox prompt 2021-11-10 21:38:29 -05:00
Adam 8ebef03e4d opponent info: use long npc name if available
This name is used on the in game hd hud (eg "Baby Muttadile" instead of "Muttadile")
2021-11-09 16:55:54 -05:00
Adam 7b6074f0f8 opponent info: hide overlay if hp hud is active 2021-11-09 16:23:19 -05:00
Adam 8803034721 gpu: enable adaptive vsync
From the opengl wiki:

Recent GL drivers implement a new WGL/GLX extension called EXT_swap_control_tear.
This extension brings "adaptive vsync" as featured in modern gaming consoles to the PC.

Adaptive vsync enables v-blank synchronisation when the frame rate is higher than the
sync rate, but disables synchronisation when the frame rate drops below the sync rate.
Disabling the synchronisation on low frame rates prevents the common problem where the
frame rate syncs to a integer fraction of the screen's refresh rate in a complex scene.

If the EXT_swap_control_tear extension is not supported, JOGL uses the absolute value
as the swap interval, 1, the same as before.
2021-11-09 15:37:24 -05:00
Adam 554ed2d4d4 gpu: initialize targetBufferOffset on startup 2021-11-07 18:01:36 -05:00
Adam 94e2627697 gpu: update suppressed warnings 2021-11-05 11:18:25 -04:00
Adam 59308db50b gpu: store and use previous viewport's offsets for each frame
Shortly after logging in there several frames without a tli, and so no scene is
rendered on them. Since we glClear the entire buffer each frame and re-render
the most recent scene draw to emulate the vanilla effect of not painting over
the viewport, the viewport offset x/y values at the time we draw the frame may
be -1 due to that frame not having the scene rendered. Store the viewport
offsets at the time of the most recent scene draw and use them for each
subsequent frame.
2021-11-04 15:42:33 -04:00
Adam 099221993a music: add option to mute ambient sound effects 2021-11-02 14:44:44 -04:00
Adam 63034431c0 api: add ambient sound effect 2021-11-02 14:44:44 -04:00
Adam 2eb2cdc328 cache: rename objectdefinition ambient sound ids 2021-11-02 14:44:44 -04:00
Adam c61d0c8a2f client: remove rogues' den plugin
An improved version of this plugin has been made available on the
pluginhub instead.
2021-11-02 14:27:18 -04:00
Adam 9065b2a792 clues: capitalize fairy ring BKP 2021-11-01 15:04:30 -04:00
Adam 87e51bd960 bank: block bank pin going to chatbox
With invokeLater() now running next tick instead of next frame, with uncapped fps there can be several frames with the bank pin visible in the chatbox. This blocks the keyboard input on this tick, preventing having to clear the chatbox later.
2021-11-01 14:28:50 -04:00
Adam f21596bc47 barrows: fix brothers slain overlay flashing
This was assuming there is always a tick between each frame to unhide the barrows potential
2021-10-28 19:03:17 -04:00
Adam 3c7339771d gpu: clear target buffer offset on login screen
This prevents the previous scene from rendering during loading prior to the welcome screen being opened
2021-10-28 19:03:17 -04:00
Adam ec5179dc77 music plugin: fix tooltips with uncapped fps 2021-10-28 19:02:56 -04:00
Adam f6929172fc camera plugin: fix tooltips with uncapped fps 2021-10-28 19:02:56 -04:00
Adam a96a6a5a40 api: add on tick callback 2021-10-28 19:02:56 -04:00
Adam 991e6e5aeb fpx config: increase fps max 2021-10-28 15:31:21 -04:00
Adam 6cad150f3a gpu: add uncap fps option 2021-10-28 14:27:46 -04:00
Adam 6ad7ba1799 client loader: add new jagex certificate 2021-10-28 14:24:13 -04:00
Adam ed2594a055 Bump to 1.8.0-SNAPSHOT 2021-10-28 13:59:59 -04:00
Adam da58903376 skillcalc: use fixed point arithmetic for xp calculations 2021-10-28 10:11:10 -04:00
Adam 6f5735be07 gpu: fix drawing loading and connection lost boxes 2021-10-27 20:15:27 -04:00
Adam 1443d5a34d Add runelite_callback opcode to cache
Also move the RL Instructions from the script assembler to cache too, so it can be reused by the updater. The api Opcodes class has no use in the public api and so is removed.
2021-10-27 20:13:01 -04:00
Adam 9e8551d832 skillcalc: use double precision for xp
Doing the xp calculation with floats and then converting it to double is
less precise, and causes minor errors that accumulate with very large xp
ranges
2021-10-27 17:03:02 -04:00
Adam 8197de776f skillcalc: round bonus xp to nearest tenth
XP cannot be more precise than a 10th of an xp. This was compute more precise xp values and when applied over many actions caused the computed actions to be incorrect
2021-10-26 22:00:59 -04:00
Adam b9191114fa skillcalc: only recompute xp bonus values once when bonus changes 2021-10-26 22:00:59 -04:00
Adam 4187db4059 prayer: fix sanfew prayer dose indicator
The plugin was incorectly computing the amount of prayer sanfews restore
2021-10-26 14:53:19 -04:00
Adam de810fb056 inventoryid: add gim shared storage inventories 2021-10-26 12:03:35 -04:00
Adam 983d82671c banktags: fix active tag being applied to shared storage 2021-10-26 11:59:17 -04:00
Adam 455e75b7bc widget overlay: update gwd kc position 2021-10-24 16:56:48 -04:00
Adam 2f613fa300 api: add clan id to clan channel changed event 2021-10-24 16:03:22 -04:00
Adam 46d4247f8e wiki: fix positioning wiki icon with wiki entity lookup off
When the wiki entity lookup option is off the parent layer isn't
positioned at all, causing the resulting wiki icon we create to be
incorrectly positioned.
2021-10-18 18:51:01 -04:00
Adam 3180576350 hiscore: simplify lookup menu option add logic 2021-10-17 20:38:27 -04:00
Adam 37608d1e64 gpu: improve model visible check
This method checks if the model is on screen by projecting points at the model
extremes to screen and seeing if they are in the viewport bounds.

When doing this, it offsets the model height for the top of the viewport check,
but does not offset the bottom of the model for the bottom viewport check. This
offsets the bottom height to the model y position before doing this check,
which improves the test on models which are beneath the tile they are placed on.
This is most noticible in the Karamja dungeon and Hydra dungeon which has
objects for the lava instead of tiles, and they are placed at y=0 with some or
all of the model being below that.
2021-10-15 17:26:27 -04:00
Adam 5dd1132d07 api: import model bottomY
Additionally, model height is already defined in the Renderable interface, and so isn't needed here
2021-10-15 17:26:27 -04:00
Adam 9dc779a5ef api: add getItemContainer(int) 2021-10-15 17:15:04 -04:00
Adam 870933985d game event manager: send itemcontainer change events for all containers 2021-10-15 17:15:04 -04:00
Adam 5b0acccbc7 api: make HashTable implement iterable 2021-10-15 17:15:04 -04:00
Adam 59e65877dd hiscore: switch to league hiscores 2021-10-05 14:59:18 -04:00
Adam c16172e508 api: add widget classes to runtime exclusions 2021-10-05 12:55:38 -04:00