62 lines
2.0 KiB
Markdown
62 lines
2.0 KiB
Markdown
[Fork of Pazaz/RT4-Client](https://github.com/pazaz/rt4-client)
|
|
|
|
## Goals
|
|
|
|
* Identify all classes
|
|
* Create new static classes by grouping related members
|
|
* Identify all methods
|
|
* Identify all fields
|
|
* Identify all local variables
|
|
* Remove any remaining obfuscation (possibly none left)
|
|
* Fix poor decompiler behavior (fernflower)
|
|
* Replace magic numbers and bitmasks with named final fields
|
|
* Refactor code to improve behavior/readability
|
|
* Modernize code/libraries (High DPI support, modern refresh rates, ...)
|
|
* Support existing servers via global config flags that adjust packet behaviors
|
|
* Organize classes into packages
|
|
|
|
OpenRS2 annotations are left in the source to build a deob map from, in case some of my changes aren't desirable.
|
|
That mapping can be used to generate a new deob with everything renamed for you.
|
|
|
|
## Instructions
|
|
|
|
Build requirements:
|
|
* Java 8+
|
|
|
|
Runtime requirements:
|
|
* SD: Java 8+
|
|
* HD on Windows, use Java 15 or lower. There is a JOGL issue on 16+ related to how they grab the WGL context from the window.
|
|
* HD on Linux: Java 8+
|
|
* HD on macOS: Not possible yet on latest macOS. Might work for earlier OS versions.
|
|
|
|
```
|
|
git clone https://github.com/Pazaz/RT4-Client.git
|
|
cd RT4-Client
|
|
./gradlew run
|
|
```
|
|
|
|
You will be connected to a test server automatically.
|
|
This server is provided by 2009scape for their own internal developments.
|
|
|
|
## Deviations
|
|
|
|
Configurable:
|
|
- Packet behaviors to make it compatible with existing servers
|
|
- View distance in HD
|
|
- Bilinear map filtering in HD/SD
|
|
- Tweening enabled by default (existed in client)
|
|
- Shift-click behavior on inventory items enabled by default (existed in client)
|
|
|
|
Unconfigurable:
|
|
- JOGL was updated to 2.4.0
|
|
- Update/render loop was decoupled to tick indepedently from each other
|
|
- Camera panning input rewritten to use render loop timing
|
|
- Varp array size was extended to 3500 instead of 2500
|
|
- Mouse wheel camera movement (click middle button and move mouse)
|
|
- Render FPS is set to your monitor's refresh rate
|
|
|
|
## Libraries Used
|
|
|
|
- JOGL/Gluegen 2.4.0rc
|
|
- Google Gson 2.9.0
|