Graham
7887a4dff1
Rename Resource::crc to checksum
...
This is consistent with us using checksum/digest in the Js5Index naming.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
3ee8005ab7
Update clikt
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
232ba32bbd
Enable explicit API mode
...
This already caught some cases of public members that should have been
private and one case where the inferred type was too specific.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
9db64efb7b
Add name field to Library
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
72a0642db3
Rename Js5Library{Reader,Writer} to PackClassLibrary{Reader,Writer}
...
JS5 seems to refer to many things, so I'm intending to name Jagex's
custom class file format "packclass" instead of "js5". My reasoning is
that the tool for unpacking it is called unpackclass. If you use the
same logic behind naming the Pack200 packer unpack200, then "packclass"
is a reasonable name for Jagex's class file format.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
dd06bb2f83
Remove native library loading logic for SunOS/Solaris
...
The native library replacements haven't been built for them.
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
ccf7056a93
Use private companion objects where possible
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
7e422447ef
Convert hasCode() to a property
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
cf3474c016
Convert createIntConstant to an extension method on Int
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
06212b8511
Add shorthand Library read/write methods
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
ae7c19beac
Convert most Library{Reader,Writer} implementations to objects
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
451a1d9c5e
Use a single Resource::compressLibrary method for all writers
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
daefa7f4ea
Remove streams from LibraryReader and LibraryWriter constructors
...
This will provide a few benefits:
- Some of the implementations can now be turned into objects, reducing
memory allocation.
- A single Resource.compressLibrary() method will be able to take a
LibraryWriter, reducing duplication.
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
46d8af509c
Create bundler output directory if it doesn't exist
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Scu11
6e877b52ce
Move Library#read methods to dedicated classes
...
Signed-off-by: Scu11 <scu11@openrs2.dev>
5 years ago
Scu11
26348b8a2e
Move Library#write methods to dedicated classes
...
Signed-off-by: Scu11 <scu11@openrs2.dev>
5 years ago
Graham
5e987f1f61
Remove memory allocation delay during client startup
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
c488a155c4
Replace operator and game names with values from the config file
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
ef5db18ea1
Replace runescape.com with domain from the config file
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
fe3a8c1a37
Replace cachesubdir with the internal game name
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
ed052c783b
Use cache path and signer name from the config file
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
3aaea52eac
Remove trailing whitespace from log messages
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
05a03d5bdc
Inject transformers in the bundler and deobfuscator
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
0c76c610bd
Convert Guice modules to objects
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
e6a92ea0aa
Switch to FHS-style layout
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
177326221f
Move cryptographic code to a separate module
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
a52d58e8b5
Use Clikt to implement the command-line interface
...
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
061e01d57f
Rename game_unpacker.dat to unpackclass.pack for consistency
...
game_unpacker.dat is the name of the file when downloaded in the
.jagex_cache_32/runescape directory. However, the other files containing
code are all named after the files on the web/JAGGRAB server.
This commit uses unpackclass.pack for consistency with all the other
files.
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
d4da4e2de3
Replace SystemClassLoader with the PlatformClassLoader
...
This ensures the bundler/deobfuscator can only see classes that are part
of the Java runtime, and not classes from the bundler/deobfuscator
themselves.
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
e6402d52c2
Add StackFrameClassWriter
...
This allows us to avoid needing to worry about manipulating stack frames
in individual transformers, which adds lots of complexity. It's much
easier to just make ASM generate them for us.
Signed-off-by: Graham <gpe@openrs2.dev>
5 years ago
Graham
c16b8b30af
Replace *toTypedArray() with plus operator
5 years ago
Graham
626cbacc06
Remove colons from debug log messages for consistency
5 years ago
Graham
54aec42f90
Format .kts files
5 years ago
Graham
ccbbf873af
Switch from Maven to Gradle
5 years ago
Graham
785ce2d9ca
Use require() in PlatformDetectionTransformer
5 years ago
Graham
64abe46971
Replace forEach calls with for loops
...
These are artifacts of the Java port.
5 years ago
Graham
a4cd83fff0
Fix typo in the Portuguese translation of 'loading textures'
5 years ago
Graham
40702d9c35
Reduce Manifest duplication
5 years ago
Graham
11ef4b0227
Sign loaders
5 years ago
Graham
4ff64c95e5
Rename compress<x>Resources to compress<x>Natives
5 years ago
Graham
575632413a
Add missing private modifier
5 years ago
Graham
1d0bcfd88f
Add PublicKeyTransformer to Bundler
5 years ago
Graham
97a11ba765
Inject RSAPrivateCrtKeyParameters in PublicKeyTransformer
5 years ago
Graham
e82f575695
Update jar/pack200/js5 resources in ResourceTransformer
5 years ago
Graham
97a8ada0d4
Add manifests to the unsigned client and loaders
5 years ago
Graham
c6cf9a4d94
Add initial client bundler
5 years ago
Graham
a032e3d472
Exclude CRC from the path used by Resource::write
5 years ago
Graham
d03d1c3bb5
Rename overloaded compress method to compressNative
5 years ago
Graham
3a4085c680
Make compress private
5 years ago
Graham
5d51415baf
Add write method to Resource
5 years ago