summaryrefslogtreecommitdiff
path: root/NET/worlds/scape/WorldScriptLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'NET/worlds/scape/WorldScriptLoader.java')
-rw-r--r--NET/worlds/scape/WorldScriptLoader.java276
1 files changed, 276 insertions, 0 deletions
diff --git a/NET/worlds/scape/WorldScriptLoader.java b/NET/worlds/scape/WorldScriptLoader.java
new file mode 100644
index 0000000..e323e78
--- /dev/null
+++ b/NET/worlds/scape/WorldScriptLoader.java
@@ -0,0 +1,276 @@
+/* */ package NET.worlds.scape;
+/* */
+/* */ import java.io.PrintStream;
+/* */ import java.util.Hashtable;
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ class WorldScriptLoader
+/* */ extends ClassLoader
+/* */ {
+/* 19 */ Hashtable<String, Class<?>> cache = new Hashtable();
+/* */ String lastWorldName;
+/* */
+/* */ /* Error */
+/* */ private byte[] loadClassData(String name)
+/* */ {
+/* */ // Byte code:
+/* */ // 0: ldc 27
+/* */ // 2: astore_2
+/* */ // 3: aload_1
+/* */ // 4: aload_2
+/* */ // 5: invokevirtual 29 java/lang/String:startsWith (Ljava/lang/String;)Z
+/* */ // 8: ifeq +12 -> 20
+/* */ // 11: aload_1
+/* */ // 12: aload_2
+/* */ // 13: invokevirtual 35 java/lang/String:length ()I
+/* */ // 16: invokevirtual 39 java/lang/String:substring (I)Ljava/lang/String;
+/* */ // 19: astore_1
+/* */ // 20: aload_1
+/* */ // 21: ldc 43
+/* */ // 23: invokevirtual 45 java/lang/String:indexOf (Ljava/lang/String;)I
+/* */ // 26: istore_3
+/* */ // 27: iload_3
+/* */ // 28: iconst_m1
+/* */ // 29: if_icmpne +8 -> 37
+/* */ // 32: iconst_0
+/* */ // 33: istore_3
+/* */ // 34: goto +18 -> 52
+/* */ // 37: iload_3
+/* */ // 38: new 30 java/lang/String
+/* */ // 41: dup
+/* */ // 42: ldc 43
+/* */ // 44: invokespecial 49 java/lang/String:<init> (Ljava/lang/String;)V
+/* */ // 47: invokevirtual 35 java/lang/String:length ()I
+/* */ // 50: iadd
+/* */ // 51: istore_3
+/* */ // 52: aload_1
+/* */ // 53: ldc 52
+/* */ // 55: invokevirtual 45 java/lang/String:indexOf (Ljava/lang/String;)I
+/* */ // 58: istore 4
+/* */ // 60: iload_3
+/* */ // 61: ifne +10 -> 71
+/* */ // 64: aload_0
+/* */ // 65: getfield 54 NET/worlds/scape/WorldScriptLoader:lastWorldName Ljava/lang/String;
+/* */ // 68: ifnonnull +51 -> 119
+/* */ // 71: iload 4
+/* */ // 73: iconst_m1
+/* */ // 74: if_icmpeq +15 -> 89
+/* */ // 77: aload_1
+/* */ // 78: iload_3
+/* */ // 79: iload 4
+/* */ // 81: invokevirtual 56 java/lang/String:substring (II)Ljava/lang/String;
+/* */ // 84: astore 5
+/* */ // 86: goto +68 -> 154
+/* */ // 89: aload_1
+/* */ // 90: iload_3
+/* */ // 91: invokevirtual 39 java/lang/String:substring (I)Ljava/lang/String;
+/* */ // 94: astore 5
+/* */ // 96: new 59 java/lang/StringBuilder
+/* */ // 99: dup
+/* */ // 100: aload_1
+/* */ // 101: invokestatic 61 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String;
+/* */ // 104: invokespecial 65 java/lang/StringBuilder:<init> (Ljava/lang/String;)V
+/* */ // 107: ldc 52
+/* */ // 109: invokevirtual 66 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 112: invokevirtual 70 java/lang/StringBuilder:toString ()Ljava/lang/String;
+/* */ // 115: astore_1
+/* */ // 116: goto +38 -> 154
+/* */ // 119: aload_0
+/* */ // 120: getfield 54 NET/worlds/scape/WorldScriptLoader:lastWorldName Ljava/lang/String;
+/* */ // 123: astore 5
+/* */ // 125: aload_1
+/* */ // 126: ldc 52
+/* */ // 128: invokevirtual 74 java/lang/String:endsWith (Ljava/lang/String;)Z
+/* */ // 131: ifne +23 -> 154
+/* */ // 134: new 59 java/lang/StringBuilder
+/* */ // 137: dup
+/* */ // 138: aload_1
+/* */ // 139: invokestatic 61 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String;
+/* */ // 142: invokespecial 65 java/lang/StringBuilder:<init> (Ljava/lang/String;)V
+/* */ // 145: ldc 52
+/* */ // 147: invokevirtual 66 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 150: invokevirtual 70 java/lang/StringBuilder:toString ()Ljava/lang/String;
+/* */ // 153: astore_1
+/* */ // 154: new 59 java/lang/StringBuilder
+/* */ // 157: dup
+/* */ // 158: invokestatic 77 NET/worlds/network/NetUpdate:getUpgradeServerURL ()Ljava/lang/String;
+/* */ // 161: invokestatic 61 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String;
+/* */ // 164: invokespecial 65 java/lang/StringBuilder:<init> (Ljava/lang/String;)V
+/* */ // 167: aload 5
+/* */ // 169: invokevirtual 66 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 172: ldc 82
+/* */ // 174: invokevirtual 66 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 177: aload_1
+/* */ // 178: invokevirtual 66 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 181: invokevirtual 70 java/lang/StringBuilder:toString ()Ljava/lang/String;
+/* */ // 184: invokestatic 84 NET/worlds/network/URL:make (Ljava/lang/String;)LNET/worlds/network/URL;
+/* */ // 187: astore 6
+/* */ // 189: aload 6
+/* */ // 191: iconst_1
+/* */ // 192: invokestatic 90 NET/worlds/network/Cache:getFile (LNET/worlds/network/URL;Z)LNET/worlds/network/CacheFile;
+/* */ // 195: astore 7
+/* */ // 197: aload 7
+/* */ // 199: invokevirtual 96 NET/worlds/network/CacheFile:waitUntilLoaded ()V
+/* */ // 202: aload 7
+/* */ // 204: invokevirtual 101 NET/worlds/network/CacheFile:error ()Z
+/* */ // 207: ifeq +5 -> 212
+/* */ // 210: aconst_null
+/* */ // 211: areturn
+/* */ // 212: aload_0
+/* */ // 213: aload 5
+/* */ // 215: putfield 54 NET/worlds/scape/WorldScriptLoader:lastWorldName Ljava/lang/String;
+/* */ // 218: aload 7
+/* */ // 220: invokevirtual 105 NET/worlds/network/CacheFile:getLocalName ()Ljava/lang/String;
+/* */ // 223: astore 8
+/* */ // 225: new 108 java/io/File
+/* */ // 228: dup
+/* */ // 229: aload 8
+/* */ // 231: invokespecial 110 java/io/File:<init> (Ljava/lang/String;)V
+/* */ // 234: astore 9
+/* */ // 236: new 111 java/io/FileInputStream
+/* */ // 239: dup
+/* */ // 240: aload 9
+/* */ // 242: invokespecial 113 java/io/FileInputStream:<init> (Ljava/io/File;)V
+/* */ // 245: astore 10
+/* */ // 247: sipush 1024
+/* */ // 250: newarray <illegal type>
+/* */ // 252: astore 11
+/* */ // 254: new 116 java/io/ByteArrayOutputStream
+/* */ // 257: dup
+/* */ // 258: invokespecial 118 java/io/ByteArrayOutputStream:<init> ()V
+/* */ // 261: astore 12
+/* */ // 263: aload 10
+/* */ // 265: aload 11
+/* */ // 267: invokevirtual 119 java/io/FileInputStream:read ([B)I
+/* */ // 270: istore 13
+/* */ // 272: iload 13
+/* */ // 274: iconst_m1
+/* */ // 275: if_icmpne +6 -> 281
+/* */ // 278: goto +18 -> 296
+/* */ // 281: aload 12
+/* */ // 283: aload 11
+/* */ // 285: iconst_0
+/* */ // 286: iload 13
+/* */ // 288: invokevirtual 123 java/io/ByteArrayOutputStream:write ([BII)V
+/* */ // 291: goto -28 -> 263
+/* */ // 294: astore 13
+/* */ // 296: aload 10
+/* */ // 298: invokevirtual 127 java/io/FileInputStream:close ()V
+/* */ // 301: aload 12
+/* */ // 303: invokevirtual 130 java/io/ByteArrayOutputStream:toByteArray ()[B
+/* */ // 306: areturn
+/* */ // 307: astore 9
+/* */ // 309: aconst_null
+/* */ // 310: areturn
+/* */ // Line number table:
+/* */ // Java source line #26 -> byte code offset #0
+/* */ // Java source line #27 -> byte code offset #3
+/* */ // Java source line #28 -> byte code offset #11
+/* */ // Java source line #32 -> byte code offset #20
+/* */ // Java source line #33 -> byte code offset #27
+/* */ // Java source line #34 -> byte code offset #32
+/* */ // Java source line #35 -> byte code offset #34
+/* */ // Java source line #36 -> byte code offset #37
+/* */ // Java source line #38 -> byte code offset #52
+/* */ // Java source line #41 -> byte code offset #60
+/* */ // Java source line #42 -> byte code offset #71
+/* */ // Java source line #43 -> byte code offset #77
+/* */ // Java source line #44 -> byte code offset #86
+/* */ // Java source line #45 -> byte code offset #89
+/* */ // Java source line #46 -> byte code offset #96
+/* */ // Java source line #48 -> byte code offset #116
+/* */ // Java source line #49 -> byte code offset #119
+/* */ // Java source line #50 -> byte code offset #125
+/* */ // Java source line #51 -> byte code offset #134
+/* */ // Java source line #56 -> byte code offset #154
+/* */ // Java source line #59 -> byte code offset #189
+/* */ // Java source line #60 -> byte code offset #197
+/* */ // Java source line #61 -> byte code offset #202
+/* */ // Java source line #62 -> byte code offset #210
+/* */ // Java source line #65 -> byte code offset #212
+/* */ // Java source line #66 -> byte code offset #218
+/* */ // Java source line #69 -> byte code offset #225
+/* */ // Java source line #71 -> byte code offset #236
+/* */ // Java source line #73 -> byte code offset #247
+/* */ // Java source line #75 -> byte code offset #254
+/* */ // Java source line #79 -> byte code offset #263
+/* */ // Java source line #80 -> byte code offset #272
+/* */ // Java source line #81 -> byte code offset #278
+/* */ // Java source line #82 -> byte code offset #281
+/* */ // Java source line #83 -> byte code offset #291
+/* */ // Java source line #88 -> byte code offset #296
+/* */ // Java source line #89 -> byte code offset #301
+/* */ // Java source line #90 -> byte code offset #307
+/* */ // Java source line #91 -> byte code offset #309
+/* */ // Local variable table:
+/* */ // start length slot name signature
+/* */ // 0 311 0 this WorldScriptLoader
+/* */ // 0 311 1 name String
+/* */ // 2 11 2 prefix String
+/* */ // 26 65 3 nameIdx int
+/* */ // 58 22 4 extIdx int
+/* */ // 84 3 5 worldName String
+/* */ // 94 3 5 worldName String
+/* */ // 123 91 5 worldName String
+/* */ // 187 3 6 scriptURL NET.worlds.network.URL
+/* */ // 195 24 7 f NET.worlds.network.CacheFile
+/* */ // 223 7 8 fileName String
+/* */ // 234 7 9 file java.io.File
+/* */ // 307 3 9 e Exception
+/* */ // 245 52 10 fis java.io.FileInputStream
+/* */ // 252 32 11 buffer byte[]
+/* */ // 261 41 12 os java.io.ByteArrayOutputStream
+/* */ // 270 17 13 bytesRead int
+/* */ // 294 1 13 localException1 Exception
+/* */ // Exception table:
+/* */ // from to target type
+/* */ // 263 278 294 java/lang/Exception
+/* */ // 281 291 294 java/lang/Exception
+/* */ // 225 306 307 java/lang/Exception
+/* */ }
+/* */
+/* */ public synchronized Class<?> loadClass(String name, boolean resolve)
+/* */ {
+/* 99 */ Class<?> c = (Class)this.cache.get(name);
+/* 100 */ if (c == null) {
+/* 101 */ byte[] data = null;
+/* */
+/* 103 */ if (!name.startsWith("java.")) {
+/* 104 */ data = loadClassData(name);
+/* */ }
+/* */
+/* 107 */ if (data == null) {
+/* */ try {
+/* 109 */ return findSystemClass(name);
+/* */ } catch (Error e) {
+/* 111 */ System.out.println("Could not load script " + name + " " + e);
+/* 112 */ return null;
+/* */ } catch (Exception e) {
+/* 114 */ System.out.println("Could not load script " + name + " " + e);
+/* 115 */ return null;
+/* */ }
+/* */ }
+/* 118 */ c = defineClass(null, data, 0, data.length);
+/* 119 */ this.cache.put(name, c);
+/* */ }
+/* 121 */ if (resolve) {
+/* 122 */ resolveClass(c);
+/* */ }
+/* 124 */ return c;
+/* */ }
+/* */ }
+
+
+/* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\scape\WorldScriptLoader.class
+ * Java compiler version: 6 (50.0)
+ * JD-Core Version: 0.7.1
+ */ \ No newline at end of file