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>
Some of these method names only make sense when accompanied with the
class name. I think most of these were mistakes in the Java -> Kotlin
port.
Signed-off-by: Graham <gpe@openrs2.dev>
This name is slightly more descriptive and consistent with loader.p12,
which also contains a private key.
I've also removed the public.key file. It isn't read by OpenRS2 and the
two files could get out of sync with each other, which would be
confusing.
It's easy to extract the public key with OpenSSL if necessary:
openssl pkey -in game.key -pubout -out public.key
Signed-off-by: Graham <gpe@openrs2.dev>
It uses multibindings to allow additional Jackson modules to be
registered across different Guice modules while using a single
ObjectMapper for the whole application.
Signed-off-by: Graham <gpe@openrs2.dev>
Local variable name tracking with the @Pc annotation relies on changes
not yet included in a release. I'm not intending to do another
Fernflower release yet, as I've still got more changes to make, but I
would like the @Pc tracking to work.
Signed-off-by: Graham <gpe@openrs2.dev>
This reverts commit 7415ae6ec9.
The problems that caused me to write this commit in the first place have
been fixed. Using IDEA's test runner directly is nicer - e.g. for code
coverage integration.
Java 11's Pack200 implementation complains if stack map frames are present, and
passes the classes through unmodified. I'm not sure why.
Stack map frames are only required in Java 7, so for 6 and below a reasonable
workaround is to not emit them.
A nice side effect of this change is that the jar files created by the bundler
are be smaller. The pack200 files are too, and would be even if the classes
were not passed through unmodified.