* Add remaining Hiscore parameters to HiscoreSkill
* Add remaining Hiscore parameters to HiscoreResult
* Add remaining Hiscore parameters to HiscoreResultBuilder
* Add new Hiscore panel icons (from offical Hiscore website, so they don't match very well) and subpanel for Clue Scrolls, Bounty Hunter - Hunter, Bounty Hunter - Rogue, and Last Man Standing
* Add logic to catch unranked hiscores and display them properly. Not currently checking for combat level calculations, but other cases should be covered.
* Make HiscoreService and HiscoreClient aware of different hiscore endpoints
* Add Spring Editor to convert path variable String to enum, add pretty versions of HiscoreEndpoint names, add new icons for endpoint selection
* Fix HiscoreEndpoint.valueof failing silently and preventing lookup, update HiscoreService tests, add Hiscore endpoint selection buttons to HiscorePanel
* Replace HiscorePanel skill icons with smaller versions from the official hiscore website
* Fix details listing rank instead of experience
* Fix details listing rank instead of experience, fix skill panels not being cleared when selecting a different hiscore category, make HiscoreService respond 404 when a Hiscore entry is not found instead of 500.
* Fix skill panels not being cleared when selecting a different hiscore category, make HiscoreService respond 404 when a Hiscore entry is not found instead of 500.
* Revert changing RuneliteAPI base URL, those changes should not have been committed (local testing only)
* Add ClueScrollAll and ClueScrollMaster to HiscoreService tests.
* Style cleanup and relocate NotFoundException to http-service package
* Use relative path for small skill icons
* Move Jagex Hiscore urls from HiscoreService to HiscoreEndpoint
* Create new util package in http-service for common exceptions and Spring converters, clean up HiscoreService by streamlining error handling and removing methods for old unit test
* Change HiscoreService unit test to use new HiscoreTestService subclass which handles setting the test URL
* Change HiscoreEndpoint hiscoreUrls to HttpUrl instead of String
* Cleanup formatting, remove unused http-service exception
* http-api: cleanup HiscoreEndpoint
This causes hierarchy to be runelite-client -> runelite-api and
injected-client -> runescape-api -> runelite-api. The mixin injector
fufills the runelite-api interface with access to the runescape-api
interfaces. The mixins live in runelite-mixins and are not loaded within
the client.
Note the obfuscated client classes do not pass JVM verification on 7+,
so the mixins are currently set to target Java 6.
Also update dev tools panel widget tree to use show all widgets children,
and start from the root widgets.
Thanks to @rsbmatt for his assistance in explaining the logic
It is causing deadlocks as the client holds a lock on client in paint() at the time draw() is called, and the EDT then causes RSCanvas (which is the listener) to get triggered when the client draws onto the canvas, which goes back to client.paint() and deadlocks.