Graham
c79ce805df
Add implementation of the client's song format
...
It's basically a simplified MIDI file (lacks support for SMPTE and most
meta/system messages) encoded in a smarter way.
This implementation can decode anything in the 550 cache, convert it to
MIDI format and then re-encode it bit-for-bit identically to the
original.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
739d5faea7
Refactor some interface-related code
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
d32e690d5b
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
bdc9fa1f61
Fix use of deprecated classes/properties in build.gradle.kts
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
e309add443
Refactor more MiniMenu code
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
dc2f39ed0d
Refactor remaining parts of Cs1ScriptRunner
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
8240b48089
Refactor texture-related code
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
6634f3e711
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
dbff2e10ad
Refactor some animation-related code
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
47642e9b42
Improve logging in ResourceTransformer
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
b2f9bd6ded
Update client checksum in the giant try/catch block in the loader
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
0781e23874
Add update links to each master index
...
Flenarn provided a spreadsheet mapping our master indexes to the
corresponding update.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
f2dc8beeec
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
18012a5f38
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
6f02ab2f65
Add NXT cache downloader
...
I'm still not particularly happy with this: if the JS5 download
finishes before HTTP, it'll time out and kill the whole process.
Similarly, because it takes so long to import the indexes and as we
can't fetch groups in parallel with that, it can often time out early
during the process.
In the long term, I think I am going to try and move most of the logic
outside of the Netty threads and communicate between threads with queues
or channels. This would also allow us to run multiple JS5 clients in
parallel.
The code also needs some tidying up, particularly constants in the
Js5ChannelHandler constructors.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
0e1046d457
Fix {read,write}LineNumbers
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
2b3e9d318a
Add commands for packing and unpacking pack200/packclass files
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
cf6e7cf8e7
Add methods for reading RSA keys from memory
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
1155eb7eb8
Set writerIndex correctly in ByteBufBodyHandler
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
e4b617d712
Fix multiple @Inject constructors in ByteBufBodyHandler
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
2fc7b0847a
Make CONTRIBUTING.md slightly more accurate
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
5a8a571b28
Update Gradle
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
47782ecdd7
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
9b9eb363c8
Refactor AttachLocRequest and some animation-related code
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
2cc4b34ab3
Replace MutableList with List in ByteBufBodyHandler
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
e3fde7f2a0
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
a4e74a6752
Fix ConstantPool string limit
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
1101f6e885
Add ByteBufBodyHandler
...
Allows a response from HttpClient to be efficiently read into a ByteBuf.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
21ed41c307
Use applet viewer config to find the hostname of a JS5 server
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
11a43242b9
Add applet viewer config parser
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
637e311a67
Fix SELECT DISTINCT query
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
fc6e739879
Add e prefix to the name generator
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
794463febd
Append the version trailer to the correct buffer
...
Oops!
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
d925b68db3
Remove duplicate keys from valid.json
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
2e5fbe7ed7
Update Gradle
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
689b1493de
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
1585090c68
Rename TextureMeta to Material
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
c2428494b6
Rename Material to MaterialRenderer
...
The main reason I'm doing this is that I want to rename TextureMeta to
Material, which fits in with the naming of its JS5 archive.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
85f497f619
Treat a world list checksum of 0 as 1
...
This fixes a 1 in 2^32 chance that we'll fail to fetch the world list on
startup.
Of course, updating the player counts will still be borked if we get a
collision, but at least the client won't break entirely.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
3edc5f1907
Add InitGameConnection codec
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
8ff91b5ee2
Implement world list packet
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
1b83f4b4b3
Add CacheProvider
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
6a0266e88f
Add methods for looking up entries in an enum
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
6194435313
Disable io_uring for now
...
It isn't compatible with FileRegion, which breaks the HTTP/JAGGRAB
server.
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
f6c28e2b40
Update Kotlinter
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
6c6e23b1e2
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
9c545ada73
Reduce table width
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
c870ae53dc
Fix country ID in the documentation
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
e52c20ee32
Fix name of world offest variable
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
609b3236d7
Add space between each config item
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago