- Determine if we are in raid on startup
- Properly reset state on shutdown
- Do not reset raid state when not necessary
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
If frame is opened too fast and game did not managed to create the
canvas yet, frame will crash during startup on NPE.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Now all plugin panels have tooltips so the headers are not necessary and
most of plugins do not have them already.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- Account for linked item id when getting item price
- Format item price tooltip
- Create new data structure for loot tracker and precompute it
to avoid calling methods that are unsafe outside of client thread
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Instead of creating new callback and then simply setting boolean on
RuneLite to dump it somewhere, expose this boolean from IndexDatabase
and remove injection of RuneLite.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Remove special cased wizard death animations from loot manager as as of
latest OSRS update this now works normally:
The Elemental Wizards south of Falador now give loot at the end of their
death animation rather than the beginning.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Instead of using marker overlay name use marker name, as marker overlay
name contains date.
Fixes#4634
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- Reverse ClientUI sidebar condition as when opening sidebar is always
open so current master will effectively shrink window instead of
restoring to correct size
- Apply this condition also to KEEP_WINDOW_SIZE
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
We have marked it as Nonnull but we were still sending null values
inside because of NPC name sometimes being null. Make the param nullable
and add null and empty check.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- Instead of packing frame first and then resizing and revalidating it,
pack it at the end so there is no overhead of resize and repaint events.
This save another like 200ms from startup time.
- Validate screen bounds after setting them to minimum size
- Update frame config after window custom chrome is set
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Instead of using providers in classes that should not be even used when
the optional dependencies are not present, move all Provider<> injects
to RuneLite (and to other top-level classes in other cases).
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Because of new isTab property there is no need to separate the toolbars
anymore as it can be decided which one to add where based on it.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
In order to differentiate between title and sidebar buttons in sidebar
add isTab property that will place them after separator.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Use same API for ordering title and sidebar and order them in the swing
components and not in events as that is unreliable.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
ConfigChanged is no longer propagated on startup, so colors need to be
loaded explictly for first time.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Add support for adding RS widgets to RuneLite overlay system and make
them moveable with persisted positions during restarts.
Depends on #3820 for widget ids
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Use Overlay#getBounds for getting correct bounds in OverlayManager in
case overlay overrides getBounds with custom functionality.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Move initialization of Discord service and EventBus after ClientUI
startup to display the ClientUI sooner
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- Properly load configuration when first showing ClientUI instead of
waiting for ConfigChanged events.
- Merge open and show to 1 method
- Remove ClientUILoaded as it is no longer necessary
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- Merge ClientUI.show and ClientUI.init as now applet can be properly
injected
- Change RuneLite to be autocloseable and send it when opening ClientUI
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Instead of exposing static variable provide launch properties to
dependant classes as bound constants in RuneLiteModule.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Instead of requiring to create client from RuneLite just use Guice for
it and separate applet provider.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
- Provide OkHttpClient through Guice instead of using it from static
variable
- Chain the RS classes with Guice and inject ClientLoader to RuneLite
class
- Cleanup RS loading classes a bit
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Based on points made in #4160, update GitHub issue templates to be more
versatile, do not include any inline comments and be straightforward,
while pointing out reporter in correct direction. Also, one of the
crucial things that previous template for bug report was missing was
RuneLite and Launcher versions and steps to reproduce the bug.
Supersedes #4160
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
When hiding minimap, there are 2 different widget IDs for respective
resizable mode configurations. Find proper one and hide it.
Fixes#976
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>