initial commit cloning rt4 client and making a small cosmetic tweak
This commit is contained in:
commit
1c2489ce06
61
README.md
Normal file
61
README.md
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
[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
|
0
build.gradle
Normal file
0
build.gradle
Normal file
51
client/build.gradle
Normal file
51
client/build.gradle
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
plugins {
|
||||||
|
id 'java'
|
||||||
|
id 'application'
|
||||||
|
id 'org.jetbrains.kotlin.jvm' version '1.4.10'
|
||||||
|
}
|
||||||
|
|
||||||
|
mainClassName = 'rt4.client'
|
||||||
|
version = '1.0.0'
|
||||||
|
|
||||||
|
sourceCompatibility = 1.8
|
||||||
|
targetCompatibility = 1.8
|
||||||
|
|
||||||
|
compileJava.options.encoding = 'UTF-8'
|
||||||
|
|
||||||
|
tasks.withType(JavaCompile) {
|
||||||
|
options.encoding = 'UTF-8'
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
compileOnly project(':deob-annotations')
|
||||||
|
implementation project(':signlink')
|
||||||
|
|
||||||
|
implementation 'lib:gson'
|
||||||
|
implementation 'lib:gluegen-rt'
|
||||||
|
implementation 'lib:gluegen-rt-natives-windows-amd64'
|
||||||
|
implementation 'lib:gluegen-rt-natives-windows-i586'
|
||||||
|
implementation 'lib:gluegen-rt-natives-linux-amd64'
|
||||||
|
implementation 'lib:gluegen-rt-natives-linux-i586'
|
||||||
|
implementation 'lib:gluegen-rt-natives-macosx-universal'
|
||||||
|
implementation 'lib:gluegen-rt-natives-android-aarch64'
|
||||||
|
implementation 'lib:gluegen-rt-natives-linux-aarch64'
|
||||||
|
|
||||||
|
implementation 'lib:jogl-all'
|
||||||
|
implementation 'lib:jogl-all-natives-linux-aarch64'
|
||||||
|
implementation 'lib:jogl-all-natives-windows-amd64'
|
||||||
|
implementation 'lib:jogl-all-natives-windows-i586'
|
||||||
|
implementation 'lib:jogl-all-natives-linux-amd64'
|
||||||
|
implementation 'lib:jogl-all-natives-linux-i586'
|
||||||
|
implementation 'lib:jogl-all-natives-macosx-universal'
|
||||||
|
implementation 'lib:jogl-all-natives-android-aarch64'
|
||||||
|
|
||||||
|
runtime 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10'
|
||||||
|
}
|
||||||
|
|
||||||
|
jar {
|
||||||
|
manifest {
|
||||||
|
attributes 'Main-Class': "$mainClassName"
|
||||||
|
}
|
||||||
|
from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
|
||||||
|
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
||||||
|
}
|
BIN
client/build/classes/java/main/plugin/Plugin.class
Normal file
BIN
client/build/classes/java/main/plugin/Plugin.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/plugin/PluginInfo.class
Normal file
BIN
client/build/classes/java/main/plugin/PluginInfo.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/plugin/PluginRepository.class
Normal file
BIN
client/build/classes/java/main/plugin/PluginRepository.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
client/build/classes/java/main/plugin/api/API$1.class
Normal file
BIN
client/build/classes/java/main/plugin/api/API$1.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/plugin/api/API.class
Normal file
BIN
client/build/classes/java/main/plugin/api/API.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/plugin/api/FontColor.class
Normal file
BIN
client/build/classes/java/main/plugin/api/FontColor.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/plugin/api/FontType.class
Normal file
BIN
client/build/classes/java/main/plugin/api/FontType.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/plugin/api/MiniMenuAction.class
Normal file
BIN
client/build/classes/java/main/plugin/api/MiniMenuAction.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/plugin/api/MiniMenuEntry.class
Normal file
BIN
client/build/classes/java/main/plugin/api/MiniMenuEntry.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/plugin/api/MiniMenuType.class
Normal file
BIN
client/build/classes/java/main/plugin/api/MiniMenuType.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/plugin/api/Privileges.class
Normal file
BIN
client/build/classes/java/main/plugin/api/Privileges.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/plugin/api/SpritePNGLoader.class
Normal file
BIN
client/build/classes/java/main/plugin/api/SpritePNGLoader.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/plugin/api/SpritePixels.class
Normal file
BIN
client/build/classes/java/main/plugin/api/SpritePixels.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/plugin/api/TextModifier.class
Normal file
BIN
client/build/classes/java/main/plugin/api/TextModifier.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/plugin/api/WindowMode.class
Normal file
BIN
client/build/classes/java/main/plugin/api/WindowMode.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/AbstractWorld.class
Normal file
BIN
client/build/classes/java/main/rt4/AbstractWorld.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/AnimBase.class
Normal file
BIN
client/build/classes/java/main/rt4/AnimBase.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/AnimFrame.class
Normal file
BIN
client/build/classes/java/main/rt4/AnimFrame.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/AnimFrameset.class
Normal file
BIN
client/build/classes/java/main/rt4/AnimFrameset.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/AreaSound.class
Normal file
BIN
client/build/classes/java/main/rt4/AreaSound.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/AreaSoundManager.class
Normal file
BIN
client/build/classes/java/main/rt4/AreaSoundManager.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/ArrayUtils.class
Normal file
BIN
client/build/classes/java/main/rt4/ArrayUtils.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/AttachLocRequest.class
Normal file
BIN
client/build/classes/java/main/rt4/AttachLocRequest.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/AudioChannel.class
Normal file
BIN
client/build/classes/java/main/rt4/AudioChannel.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/AudioThread.class
Normal file
BIN
client/build/classes/java/main/rt4/AudioThread.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/BasType.class
Normal file
BIN
client/build/classes/java/main/rt4/BasType.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/BasTypeList.class
Normal file
BIN
client/build/classes/java/main/rt4/BasTypeList.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Base37.class
Normal file
BIN
client/build/classes/java/main/rt4/Base37.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/BrokenInputStream.class
Normal file
BIN
client/build/classes/java/main/rt4/BrokenInputStream.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/BrokenOutputStream.class
Normal file
BIN
client/build/classes/java/main/rt4/BrokenOutputStream.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/BrowserControl.class
Normal file
BIN
client/build/classes/java/main/rt4/BrowserControl.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Buffer.class
Normal file
BIN
client/build/classes/java/main/rt4/Buffer.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/BufferedFile.class
Normal file
BIN
client/build/classes/java/main/rt4/BufferedFile.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
client/build/classes/java/main/rt4/BufferedSocket.class
Normal file
BIN
client/build/classes/java/main/rt4/BufferedSocket.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/ByteArray.class
Normal file
BIN
client/build/classes/java/main/rt4/ByteArray.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/ByteArrayNode.class
Normal file
BIN
client/build/classes/java/main/rt4/ByteArrayNode.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/ByteArrayNodeSecondary.class
Normal file
BIN
client/build/classes/java/main/rt4/ByteArrayNodeSecondary.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Bzip2DState.class
Normal file
BIN
client/build/classes/java/main/rt4/Bzip2DState.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Bzip2Decompressor.class
Normal file
BIN
client/build/classes/java/main/rt4/Bzip2Decompressor.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Cache.class
Normal file
BIN
client/build/classes/java/main/rt4/Cache.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Camera.class
Normal file
BIN
client/build/classes/java/main/rt4/Camera.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/ChangeLocRequest.class
Normal file
BIN
client/build/classes/java/main/rt4/ChangeLocRequest.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/CharUtils.class
Normal file
BIN
client/build/classes/java/main/rt4/CharUtils.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Chat.class
Normal file
BIN
client/build/classes/java/main/rt4/Chat.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Cheat.class
Normal file
BIN
client/build/classes/java/main/rt4/Cheat.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/ClanChat.class
Normal file
BIN
client/build/classes/java/main/rt4/ClanChat.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/ClanMember.class
Normal file
BIN
client/build/classes/java/main/rt4/ClanMember.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/ClientProt.class
Normal file
BIN
client/build/classes/java/main/rt4/ClientProt.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/ClientScript.class
Normal file
BIN
client/build/classes/java/main/rt4/ClientScript.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/ClientScriptList.class
Normal file
BIN
client/build/classes/java/main/rt4/ClientScriptList.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/CollisionMap.class
Normal file
BIN
client/build/classes/java/main/rt4/CollisionMap.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/ColorImageCache.class
Normal file
BIN
client/build/classes/java/main/rt4/ColorImageCache.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/ColorImageCacheEntry.class
Normal file
BIN
client/build/classes/java/main/rt4/ColorImageCacheEntry.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/ColorUtils.class
Normal file
BIN
client/build/classes/java/main/rt4/ColorUtils.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Component.class
Normal file
BIN
client/build/classes/java/main/rt4/Component.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/ComponentPointer.class
Normal file
BIN
client/build/classes/java/main/rt4/ComponentPointer.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/CreateManager.class
Normal file
BIN
client/build/classes/java/main/rt4/CreateManager.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Cross.class
Normal file
BIN
client/build/classes/java/main/rt4/Cross.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Cs1ScriptRunner.class
Normal file
BIN
client/build/classes/java/main/rt4/Cs1ScriptRunner.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/CursorType.class
Normal file
BIN
client/build/classes/java/main/rt4/CursorType.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/CursorTypeList.class
Normal file
BIN
client/build/classes/java/main/rt4/CursorTypeList.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/DateUtil.class
Normal file
BIN
client/build/classes/java/main/rt4/DateUtil.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/DeadClass.class
Normal file
BIN
client/build/classes/java/main/rt4/DeadClass.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/DelayedStateChange.class
Normal file
BIN
client/build/classes/java/main/rt4/DelayedStateChange.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/DirectByteArray.class
Normal file
BIN
client/build/classes/java/main/rt4/DirectByteArray.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/DisplayMode.class
Normal file
BIN
client/build/classes/java/main/rt4/DisplayMode.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Entity.class
Normal file
BIN
client/build/classes/java/main/rt4/Entity.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/EnumStringEntry.class
Normal file
BIN
client/build/classes/java/main/rt4/EnumStringEntry.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/EnumType.class
Normal file
BIN
client/build/classes/java/main/rt4/EnumType.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/EnumTypeList.class
Normal file
BIN
client/build/classes/java/main/rt4/EnumTypeList.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Environment.class
Normal file
BIN
client/build/classes/java/main/rt4/Environment.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Equipment.class
Normal file
BIN
client/build/classes/java/main/rt4/Equipment.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Find.class
Normal file
BIN
client/build/classes/java/main/rt4/Find.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Flames.class
Normal file
BIN
client/build/classes/java/main/rt4/Flames.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/FloType.class
Normal file
BIN
client/build/classes/java/main/rt4/FloType.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/FloTypeList.class
Normal file
BIN
client/build/classes/java/main/rt4/FloTypeList.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/FluType.class
Normal file
BIN
client/build/classes/java/main/rt4/FluType.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/FluTypeList.class
Normal file
BIN
client/build/classes/java/main/rt4/FluTypeList.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/FogManager.class
Normal file
BIN
client/build/classes/java/main/rt4/FogManager.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Font.class
Normal file
BIN
client/build/classes/java/main/rt4/Font.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/FontMetricsList.class
Normal file
BIN
client/build/classes/java/main/rt4/FontMetricsList.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/Fonts.class
Normal file
BIN
client/build/classes/java/main/rt4/Fonts.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/FrameBuffer.class
Normal file
BIN
client/build/classes/java/main/rt4/FrameBuffer.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/FriendsList.class
Normal file
BIN
client/build/classes/java/main/rt4/FriendsList.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/GameCanvas.class
Normal file
BIN
client/build/classes/java/main/rt4/GameCanvas.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/GameShell.class
Normal file
BIN
client/build/classes/java/main/rt4/GameShell.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/GlAlphaSprite.class
Normal file
BIN
client/build/classes/java/main/rt4/GlAlphaSprite.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/GlBoundingBox.class
Normal file
BIN
client/build/classes/java/main/rt4/GlBoundingBox.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/GlBuffer.class
Normal file
BIN
client/build/classes/java/main/rt4/GlBuffer.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/GlCleaner.class
Normal file
BIN
client/build/classes/java/main/rt4/GlCleaner.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/GlFont.class
Normal file
BIN
client/build/classes/java/main/rt4/GlFont.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/GlIndexedSprite.class
Normal file
BIN
client/build/classes/java/main/rt4/GlIndexedSprite.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/GlModel.class
Normal file
BIN
client/build/classes/java/main/rt4/GlModel.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/GlModel_Class23.class
Normal file
BIN
client/build/classes/java/main/rt4/GlModel_Class23.class
Normal file
Binary file not shown.
BIN
client/build/classes/java/main/rt4/GlRaster.class
Normal file
BIN
client/build/classes/java/main/rt4/GlRaster.class
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user