65d2f4509049cc1f91e6dd922af15a83880e434d
After some testing I found that a niche issue arises from the combination of the alphabetical sorting and the for loop. This aims to band-aid the issue as best possible until proper rework is done.
Renamed fields
Appended main areas (BB) which house other locations with `_ZONE` .
Example
Old → `HOSIDIUS("Hosidius", new Location(1737, 3627, 1789, 3582), 0),`
New → `HOSIDIUS_ZONE("Hosidius", new Location(1737, 3627, 1789, 3582), 0),`
Reason for this is to solve a problem with the `for loop` responsible for iterating over all locations to find which one the player is located in.
Since they are sorted alphabetically, `HOSIDIUS` comes before `HOSIDIUS_BANK` or any other location prefixed with "hosidius".
Disregarding if `worldArea ∈ BB`.
So, coincidentally, appending BB areas with `_ZONE` is just a lucky "solution" as a result of the alphabetical sorting to push the area down in the hierarchy.
To be clear; This is a hack, not a proper solution.
Ideally, in a perfect world the entire thing would be replaced by a proper R-Tree or other spatial access method.
However, for now, this is as good as it gets seeing as it'd be a pretty big task.
OpenOSRS
OpenOSRS is a fully open-source client with no restrictions. We are not affiliated with Jagex or RuneLite.
Discord
Project Layout
- cache - Libraries used for reading/writing cache files, as well as the data in it
- deobfuscator - Can decompile and cleanup gamepacks as well as map updates to newer revs
- http-api - API for runelite and OpenOSRS
- injector-plugin - Tool for implementing our modifications to the gamepack
- runelite-api - RuneLite API, interfaces for accessing the client
- runelite-mixins - Classes containing the Objects to be injected using the injector-plugin
- runescape-api - Mappings correspond to these interfaces, runelite-api is a subset of this
- runelite-client - Game client with plugins
- wiki-scraper - Scrapes the runescape wiki https://oldschool.runescape.wiki for the latest npc data
Building
We have migrated the project to Gradle. Information on how to setup and build the project can be found at https://github.com/open-osrs/runelite/wiki/Building-with-IntelliJ-IDEA
Install from Pre-built Binaries
Installers for Windows, Mac and Linux can be found at https://github.com/open-osrs/launcher/releases
License
OpenOSRS is licensed under the BSD 2-clause license. See the license header in the respective file to be sure.
Contribute and Develop
We've set up a separate document for our contribution guidelines.
Supported By
OpenOSRS uses profiling tools provided by YourKit
Thanks JetBrains for providing our developers with IntelliJ IDEA Ultimate Edition.
Wiki
Check out the OpenOSRS wiki to learn more
Description
Languages
Java
98.9%
GLSL
0.7%
C
0.3%
