Graham
43cf436c22
Set Java compiler encoding to UTF-8
...
This fixes building the nonfree repository on Windows.
4 years ago
Graham
cec6fce341
Refactor various bits and pieces
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
4e48ea0f41
Refactor the SoundBank class
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
5ea7f1ab6b
Refactor the Vorbis implementation
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
186c5930a5
Add Js5Archive and Js5ConfigGroup constants for 550
...
Most of these names come directly from the NXT/TFU clients, though a few
are made up as we don't know the official name.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
e384d634cc
Reduce allocations if a singleton set is already mutable
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
df68f6d801
Add Js5ConfigGroup object
...
Empty so far, mostly serves as a reminder for me to populate it along
with the Js5Archive object.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
e18d751125
Add combined command for running both deobfuscators and the decompiler
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
70b35216c9
Flesh out JS5 protocol documentation
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
07603d3cfa
Avoid copying the byte array in crc32() if possible
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
435a8b4eff
Validate checksums in the JS5 client
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
4b1d25393c
Add JS5 protocol documentation
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
d837e72aee
Enforce consistent version of Kotlin's stdlib across the whole project
...
I think something pulls in 1.3's standard library, which confuses IDEA.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
0f939935cd
Skip flush/read calls if no writes are made
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
e0a9bc3ca6
Rename suspend to awaitSuspend
...
Ideally I'd like to just call this await, but it conflicts with an
existing method.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
29ac56fe1e
Replace flushRequests() with channelReadComplete()
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
6023569ce0
Add code for packing and unpacking groups
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
f87d89fe7c
Add initial command for downloading the cache from a JS5 server
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
72e9107900
Move original client back to nonfree/lib
...
I think it's actually fine to stick the jars in the nonfree/lib folder.
When we package up the entire OpenRS2 distribution, the fat jar is
placed in the lib folder, so using nonfree/lib is consistent with that.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
36e4fa474b
Fix comment
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
95108126f1
Skip addMasterIndex/addIndex if the index already exists
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
fff63285fe
Re-combine CacheImporter and ContainerImporter
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
4f16713f01
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
4e90bd76b5
Remove the cache and cache_index tables
...
These effectively duplicate the master index tables, but in a less
flexible manner - as they don't support importing a master index where
some of the indexes are missing.
This commit also combines MasterIndexImporter with CacheImporter, to
make it easier to re-use code.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
9e983135e2
Make InitJs5RemoteConnection a data class
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
fa20f1e118
Fix Js5MasterIndex::create
...
It didn't uncompress the index files before parsing them.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
3cb7ee13f9
Rename deob to deob-bytecode
...
This is in preparation for adding a new deob module which invokes the
bytecode deobfuscator, decompiler and AST deobfuscator in turn.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
ded1d99924
Move original client code to nonfree/share/client
...
This is slightly per correct than nonfree/lib, as the /lib
directory is for architecture-specific code. The original client code is
not architecture-specific.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
c24d9ceb35
Rename bundler to patcher
...
Closes #116 .
This commit also changes the output directory from
nonfree/var/cache/bundle to nonfree/var/cache/client.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
30828308b2
Replace assertThrows with assertFailsWith
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
410bf909ff
Ignore JUnit APIs with Kotlin equivalents
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
32fe61bd7d
Replace org.junit.jupiter.api.Test with kotlin.test.Test
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
ef152afab4
Re-wrap markdown files
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
2549c84028
Wrap .md files at 80 characters
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
9ddce82df4
Format code
...
This new indentation style for nested calls is annoying, I need to see
if it can be turned off somehow...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
4aa75c8fee
Improve Js5MasterIndex test coverage
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
f1433ec97f
Add method for creating a Js5MasterIndex
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
03b30145a9
Replace INT with INTEGER for consistency
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
6ab47a9ba7
Change english to en in the client run configuration
...
This is consistent with the Gradle file.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
452fabc408
Move semantic versioning text to CONTRIBUTING.md
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
19ddc608aa
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
7b4f2903fd
Add initial login codecs required to negotiate a JS5 connection
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
7b9964461f
Fix off-by-one erorr in the JS5 codecs
...
Excluding the 0xFF trailers, the first block is actually 512 bytes, and
the remaining blocks are all 511 bytes. I had mistakenly written the
code and tests on the basis of all blocks being 511 bytes.
The Js5ResponseDecoder now works with OSRS.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
6a03ef1746
Replace xor with or in Js5ResponseEncoder
...
or is conventionally used to set flags, not xor.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
43672b0558
Add smart to the glossary
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
5ae0e86654
Add alt3 to the glossary
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
96ea95394c
Add JAGGRAB request codec
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
30b605d719
Store master indexes in the database
...
I have a small collection of these from when I ran a service that polled
the JS5 server for the master index back in 2009. We'll probably be able
to find some in old Rune-Server threads too.
They'll be useful for verifying caches with an unclear provenance.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
19b6893681
Fix V1__init.sql package
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
42fec8e485
Rename getResource in the loader
...
Not sure how I missed this!
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago