package NET.worlds.scape; import NET.worlds.core.IniFile; import NET.worlds.network.Cache; import NET.worlds.network.CacheFile; import NET.worlds.network.NetUpdate; import NET.worlds.network.URL; public class PendingCacheDrone extends PendingDrone { static String upgradeDir = IniFile.gamma().getIniString("avatarDir", "avatar/"); static { if (!upgradeDir.endsWith("/")) { upgradeDir = upgradeDir + "/"; } nativeInit(); } public PendingCacheDrone(PosableDrone _drone, URL _url) { super(_drone, _url); } @Override public synchronized void download(URL avURL) { } public static native void nativeInit(); public static native void nativeDestroy(); public static synchronized native void notifySeqLoaded(int var0, String var1); public static void downloadSeqFile(String seqFileName, boolean force, int nativeNotifyObject) { seqFileName = seqFileName.toLowerCase(); if (!PosableDroneLoader.usingCache()) { notifySeqLoaded(nativeNotifyObject, ".\\avatars\\" + seqFileName); } else { String path = NetUpdate.getUpgradeServerURL() + upgradeDir + seqFileName; if (force) { CacheFile cf = Cache.getFile(URL.make(path)); cf.waitUntilLoaded(); if (cf.error()) { return; } notifySeqLoaded(nativeNotifyObject, cf.getLocalName()); } else { new SeqFile(nativeNotifyObject, URL.make(path)); } } } public static String getAvatarDatPath() { if (!PosableDroneLoader.usingCache()) { return ".\\avatars\\avatars.dat"; } else if (IniFile.gamma().getIniInt("localavatarsdat", 0) == 1) { return ".\\avatars\\avatars.dat"; } else { String datURL = NetUpdate.getUpgradeServerURL() + upgradeDir + "avatars.dat"; CacheFile cf = Cache.getFile(URL.make(datURL)); cf.waitUntilLoaded(); return cf.error() ? null : cf.getLocalName(); } } }