No description
Find a file
ipkpjersi 6d2d8ad36d Added subfolders option
This allows for much greater flexibility of screenshotting, we can now pass in any number of levels of subfolders for our preferred directory depth for storing images.
2023-12-29 12:45:24 -05:00
.github/workflows Typo in artifact command 2022-06-20 13:20:26 -04:00
client Added subfolders option 2023-12-29 12:45:24 -05:00
deob-annotations Autoformat using tab characters 2022-06-27 20:30:17 -04:00
gradle/wrapper Switched build system to gradle 2022-04-20 19:26:30 -04:00
lib Add arm64 linux natives 2023-01-21 22:05:19 -08:00
playground Update build.gradle for playground 2022-09-25 09:40:54 -05:00
plugin-playground Use correct directory for screenshots 2023-12-28 21:36:09 -05:00
ref Added more CS2 opcodes, need to adopt NXT naming next 2022-05-15 23:47:55 -04:00
signlink remove redundant file separator char for linux-specific branch 2023-01-11 23:20:44 +01:00
.gitignore Export frame buffer to PNG, allow transparency 2022-04-25 18:42:32 -04:00
.gitlab-ci.yml Update CI 2023-05-05 17:39:02 -05:00
build.gradle New gradle scripts to modularize the build process 2022-04-20 21:50:21 -04:00
gradlew Added more CS2 opcodes, need to adopt NXT naming next 2022-05-15 23:47:55 -04:00
gradlew.bat Switched build system to gradle 2022-04-20 19:26:30 -04:00
README.md Include fork notice in README 2023-05-05 23:05:34 +00:00
settings.gradle Commit start of plugin work 2022-09-25 09:40:13 -05:00

Fork of 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