Graham
2525501901
Add ModifiedUtf8Charset
...
Will be used by the packclass implementation. Like Cp1252Charset, the
JDK isn't guaranteed to provide an implementation of this charset.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
7ab3b3d335
Add method for calculating the K&R hash code of a CP-1252-encoded string
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
be7cc9ac8a
Add Cp1252Charset
...
Slightly different to the standard implementation, as like the client it
considers NUL to be an unmappable character. (Furthermore, the standard
implementation isn't in StandardCharsets.)
It also provides fast methods for encoding/decoding a single byte/char
at a time.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
e7ad4b92ff
Group test files by test
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
7179743f5d
Add fsync() extension method
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
ef02a687c9
Update fastutil
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
0f032e4f21
Update to Gradle 6.6
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
c21702a0d5
Refactor the insertBefore method
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
c3d7e9d081
Add reference counting documentation
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
d801e5fda6
Re-use length variables in the Js5Compression code
4 years ago
Graham
db3421418c
Fix prefetch/len local names in Js5NetQueue
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
24db41a74e
Add gzip headers to containers
...
The headerless gzip compression is only used for pack200 files, not
containers.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
ce97775663
Reduce use of ByteBuf{Input,Output}Stream in Js5Compression
...
Probably slightly more efficient.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
8887b0a1e9
Refactor the crc32 method
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
3f59e1764c
Store individual XteaKey components separately
...
This allows us to make them private (rather than internal) and the type
as a whole is immutable.
It does mean we need to convert the key to an IntArray every time we use
it now. However, I hope that the JVM will be smart enough to inline the
toIntArray() method and also smart enough to realise it doesn't escape,
allowing it to allocate it on the stack rather than the heap.
This commit also adds methods for converting XteaKeys to hex, and
converting from hex/integer arrays to an XteaKey object.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
58335ca6d0
Add JS5 compression/encryption implementation
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
f81f4a81c7
Set LzmaCommand's default level to -6
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
921ef3a08f
Refactor some of the client loading code
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
10a99fc9fb
Refactor most of the preferences code
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
cceaf59d3c
Refactor the Base37 encoding/decoding methods
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
4f18ca0947
Refactor JS5 connection code
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
1bb5cb4e06
Refactor Js5ResourceProvider and associated code
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
07e5a6f488
Refactor the Js5MasterIndex class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
5144604f2d
Rename getReadyPercentage to getPercentageComplete
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
4b1fdcf716
Refactor JS5 request queues
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
6aac893a1f
Rename Js5Index to Js5 in unpackclass
...
I suspect Jagex have a really clever optimizer capable of inlining the
Js5Index class (or perhaps they did it manually?)
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
026ffb21c4
Refactor the client's Js5 class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
693ed579e8
Refactor more of the GameShell class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
4616401987
Refactor Timer classes and associated code in GameShell
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
4e4b0aad40
Refactor the HuffmanCodec class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
e689d65f6c
Refactor the SecondaryHashTable class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
1e4e48e413
Rename iteratorKey to iteratorBucket
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
946ab98a82
Refactor the HashTableIterator class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
9ffc7701e2
Refactor the secondary insertAfter method
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
a8c13614ef
Refactor the ReferenceNodeFactory class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
2dfd3ed889
Refactor the LruHashTable class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
7590fa8d7c
Refactor the ReferenceNode class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
aeb03865a1
Refactor the SecondaryLinkedList class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
9b81f5c6c0
Refactor the SecondaryNode class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
1ae491d411
Refactor the HashTable class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
ceb3e0d702
Refactor the client's LinkedList class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
6c66a4cee5
Refactor the client's ArrayUtils class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
c0703c9065
Refactor the Cache class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
5af09c9c4b
Refactor the BufferedFile class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
77aa69fe97
Refactor the BufferedSocket class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
a057750792
Refactor the Broken{Input,Output}Stream classes
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
73ebb64c73
Refactor the IntNode and StringNode classes
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
1cc0fcc8b7
Refactor the client's TracingException class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
c819e85574
Refactor the client's bzip2 decompressor
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
01a3bc020d
Refactor the client's GzipDecompressor class
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago