Created
December 7, 2023 22:30
-
-
Save ekmillard/6c3a9a76a473fc316f30374ad61f804f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package ps.eden.server.cache.editor.emperor; | |
import java.io.FileInputStream; | |
import ps.eden.server.ServerConstants; | |
import ps.eden.server.cache.editor.dragonkk.store.Store; | |
import ps.eden.server.cache.editor.dragonkk.utils.Constants; | |
/** | |
* Handles packing HD libraries into the cache (as a new cache index). | |
* @author Emperor | |
* | |
*/ | |
public final class HDLibraryPacker { | |
/** | |
* The cache index to use. | |
*/ | |
private static final int CACHE_INDEX = 28; | |
/** | |
* The main method. | |
* @param args The arguments cast on runtime. | |
*/ | |
@SuppressWarnings("deprecation") | |
public static void main(String[] args) throws Throwable { | |
Store store = new Store(ServerConstants.CACHE_530_DIR); | |
System.out.println(store.getIndexes().length); | |
if (CACHE_INDEX >= store.getIndexes().length) { | |
int idx = 0; | |
do { | |
idx = store.addIndex(false, false, Constants.GZIP_COMPRESSION); | |
System.out.println("Added cache index " + idx + "!"); | |
} while (idx != CACHE_INDEX); | |
} | |
/* | |
* Archive 0 - windows 32-bit libs | |
*/ | |
FileInputStream in = new FileInputStream("./hd-libs/windows/32-bit/jogl_awt.dll"); | |
byte[] bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
store.getIndexes()[CACHE_INDEX].putFile(0, 0, bs); | |
in = new FileInputStream("./hd-libs/windows/32-bit/jogl.dll"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
store.getIndexes()[CACHE_INDEX].putFile(0, 1, bs); | |
/* | |
* Archive 1 - windows 64-bit libs | |
*/ | |
in = new FileInputStream("./hd-libs/windows/64-bit/jogl_awt.dll"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
store.getIndexes()[CACHE_INDEX].putFile(1, 0, bs); | |
in = new FileInputStream("./hd-libs/windows/64-bit/jogl.dll"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
System.out.println(bs.length); | |
store.getIndexes()[CACHE_INDEX].putFile(1, 1, bs); | |
/* | |
* Archive 2 - mac 32-bit libs | |
*/ | |
in = new FileInputStream("./hd-libs/mac/ppc/libjogl_awt.jnilib"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
store.getIndexes()[CACHE_INDEX].putFile(2, 0, bs); | |
in = new FileInputStream("./hd-libs/mac/ppc/libjogl.jnilib"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
store.getIndexes()[CACHE_INDEX].putFile(2, 1, bs); | |
/* | |
* Archive 3 - mac 64-bit libs | |
*/ | |
in = new FileInputStream("./hd-libs/mac/universal/libjogl_awt.jnilib"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
store.getIndexes()[CACHE_INDEX].putFile(3, 0, bs); | |
in = new FileInputStream("./hd-libs/mac/universal/libjogl.jnilib"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
System.out.println(bs.length); | |
store.getIndexes()[CACHE_INDEX].putFile(3, 1, bs); | |
/* | |
* Archive 4 - linux 32-bit libs | |
*/ | |
in = new FileInputStream("./hd-libs/linux/32-bit/libjogl_awt.so"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
store.getIndexes()[CACHE_INDEX].putFile(4, 0, bs); | |
in = new FileInputStream("./hd-libs/linux/32-bit/libjogl.so"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
System.out.println(bs.length); | |
store.getIndexes()[CACHE_INDEX].putFile(4, 1, bs); | |
in = new FileInputStream("./hd-libs/linux/32-bit/libgluegen-rt.so"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
System.out.println(bs.length); | |
store.getIndexes()[CACHE_INDEX].putFile(4, 2, bs); | |
/* | |
* Archive 5 - linux 64-bit libs | |
*/ | |
in = new FileInputStream("./hd-libs/linux/64-bit/libjogl_awt.so"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
store.getIndexes()[CACHE_INDEX].putFile(5, 0, bs); | |
in = new FileInputStream("./hd-libs/linux/64-bit/libjogl.so"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
System.out.println(bs.length); | |
store.getIndexes()[CACHE_INDEX].putFile(5, 1, bs); | |
in = new FileInputStream("./hd-libs/linux/64-bit/libgluegen-rt.so"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
System.out.println(bs.length); | |
store.getIndexes()[CACHE_INDEX].putFile(5, 2, bs); | |
/* | |
* Archive 6 - solaris 32-bit libs | |
*/ | |
in = new FileInputStream("./hd-libs/solaris/32-bit/libjogl_awt.so"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
store.getIndexes()[CACHE_INDEX].putFile(6, 0, bs); | |
in = new FileInputStream("./hd-libs/solaris/32-bit/libjogl.so"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
System.out.println(bs.length); | |
store.getIndexes()[CACHE_INDEX].putFile(6, 1, bs); | |
in = new FileInputStream("./hd-libs/solaris/32-bit/libgluegen-rt.so"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
System.out.println(bs.length); | |
store.getIndexes()[CACHE_INDEX].putFile(6, 2, bs); | |
/* | |
* Archive 7 - solaris 64-bit libs | |
*/ | |
in = new FileInputStream("./hd-libs/solaris/sparcv9/libjogl_awt.so"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
store.getIndexes()[CACHE_INDEX].putFile(7, 0, bs); | |
in = new FileInputStream("./hd-libs/solaris/sparcv9/libjogl.so"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
System.out.println(bs.length); | |
store.getIndexes()[CACHE_INDEX].putFile(7, 1, bs); | |
in = new FileInputStream("./hd-libs/solaris/sparcv9/libgluegen-rt.so"); | |
bs = new byte[in.available()]; | |
in.read(bs); | |
in.close(); | |
System.out.println(bs.length); | |
store.getIndexes()[CACHE_INDEX].putFile(7, 2, bs); | |
store.getIndexes()[CACHE_INDEX].rewriteTable(); | |
System.out.println("Packed HD-libraries in cache index " + CACHE_INDEX + "!"); | |
store = new Store(ServerConstants.CACHE_530_DIR, 530); | |
if (bs.length != store.getIndexes()[CACHE_INDEX].getFile(7, 2).length) { | |
System.err.println("Failed to pack!"); | |
} else { | |
System.err.println("Successfully packed!"); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment