summaryrefslogtreecommitdiff
path: root/NET/worlds/console/Gamma.java
diff options
context:
space:
mode:
authorFuwn <[email protected]>2021-05-03 16:38:41 -0700
committerFuwn <[email protected]>2021-05-03 16:38:41 -0700
commite1e781bb2135ef78592226f1a3eaba4925702f1f (patch)
tree8a5b590463ed413e1c6eabb719130e701b95ca63 /NET/worlds/console/Gamma.java
downloadworlds.jar-main.tar.xz
worlds.jar-main.zip
:star:HEADmain
Diffstat (limited to 'NET/worlds/console/Gamma.java')
-rw-r--r--NET/worlds/console/Gamma.java1108
1 files changed, 1108 insertions, 0 deletions
diff --git a/NET/worlds/console/Gamma.java b/NET/worlds/console/Gamma.java
new file mode 100644
index 0000000..9cdb3d4
--- /dev/null
+++ b/NET/worlds/console/Gamma.java
@@ -0,0 +1,1108 @@
+/* */ package NET.worlds.console;
+/* */
+/* */ import NET.worlds.core.IniFile;
+/* */ import NET.worlds.network.NetUpdate;
+/* */ import NET.worlds.network.URL;
+/* */ import NET.worlds.scape.MusicManager;
+/* */ import NET.worlds.scape.Pilot;
+/* */ import NET.worlds.scape.TeleportAction;
+/* */ import NET.worlds.scape.TeleportStatus;
+/* */ import NET.worlds.scape.World;
+/* */ import java.awt.Button;
+/* */ import java.awt.Frame;
+/* */ import java.awt.GridBagConstraints;
+/* */ import java.awt.GridBagLayout;
+/* */ import java.io.File;
+/* */ import java.io.FileInputStream;
+/* */ import java.io.FileOutputStream;
+/* */ import java.io.PrintStream;
+/* */ import java.text.MessageFormat;
+/* */ import java.util.Enumeration;
+/* */ import java.util.Hashtable;
+/* */ import java.util.NoSuchElementException;
+/* */ import java.util.StringTokenizer;
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ public class Gamma
+/* */ implements Runnable, MainCallback, TeleportStatus
+/* */ {
+/* 135 */ private static SplashScreen splash = null;
+/* */ public static ProgressBar loadProgress;
+/* */ static final int LOAD_PROGRESS_STEPS = 12;
+/* */ static final float failVersion = 1.06F;
+/* */ static final float maxVersion = 1.13F;
+/* */
+/* */ static class PriorityAdjuster implements MainCallback {
+/* */ private Thread mainThread;
+/* */
+/* */ PriorityAdjuster(Thread t) {
+/* 145 */ this.mainThread = t;
+/* 146 */ this.mainThread.setPriority(5);
+/* 147 */ Main.register(this);
+/* */ }
+/* */
+/* 150 */ boolean wasActivated = true;
+/* */
+/* */ public void mainCallback() {
+/* 153 */ if (Window.isActivated() == this.wasActivated) {
+/* 154 */ return;
+/* */ }
+/* 156 */ this.wasActivated = (!this.wasActivated);
+/* 157 */ this.mainThread.setPriority(this.wasActivated ? 5 :
+/* 158 */ 1);
+/* */ }
+/* */ }
+/* */
+/* */
+/* */
+/* */ static boolean checkVersion(String ver)
+/* */ {
+/* 166 */ StringTokenizer tok = new StringTokenizer(ver, "._");
+/* */
+/* 168 */ float version = 0.0F;
+/* */ try
+/* */ {
+/* 171 */ Integer i = new Integer(tok.nextToken());
+/* 172 */ version = i.intValue();
+/* 173 */ i = new Integer(tok.nextToken());
+/* 174 */ float min = i.floatValue() / 100.0F;
+/* 175 */ if (min < 1.0F) {
+/* 176 */ version += min;
+/* */ } else
+/* 178 */ return true;
+/* 179 */ i = new Integer(tok.nextToken());
+/* 180 */ min = i.floatValue() / 1000.0F;
+/* 181 */ version += min;
+/* */ }
+/* */ catch (NoSuchElementException localNoSuchElementException) {}
+/* */
+/* */
+/* */
+/* 187 */ if ((version < 1.06F) || (version > 1.13F)) {
+/* 188 */ BlockingDialog d = new BlockingDialog(new Frame(),
+/* 189 */ "Worlds.com: Error", true);
+/* 190 */ GridBagLayout gbl = new GridBagLayout();
+/* 191 */ d.setLayout(gbl);
+/* 192 */ d.setSize(320, 150);
+/* */
+/* 194 */ MultiLineLabel mll = new MultiLineLabel(
+/* 195 */ "Your system's Java Virtual Machine\nis incompatible.\nPlease download Java 8 from www.java.com\nand try again.");
+/* */
+/* */
+/* */
+/* 199 */ GridBagConstraints c = new GridBagConstraints();
+/* 200 */ c.gridx = 0;
+/* 201 */ c.gridy = 0;
+/* 202 */ gbl.setConstraints(mll, c);
+/* 203 */ d.add(mll);
+/* */
+/* 205 */ Button b = new Button("OK");
+/* 206 */ b.addActionListener(d);
+/* 207 */ GridBagConstraints c2 = new GridBagConstraints();
+/* 208 */ c2.gridx = 0;
+/* 209 */ c2.gridy = 1;
+/* 210 */ gbl.setConstraints(b, c2);
+/* */
+/* 212 */ d.add(b);
+/* 213 */ d.validate();
+/* 214 */ d.setVisible(true);
+/* */
+/* 216 */ d.waitForResponse();
+/* */
+/* 218 */ return false;
+/* */ }
+/* */
+/* 221 */ return true;
+/* */ }
+/* */
+/* */ /* Error */
+/* */ public static void main(String[] args)
+/* */ {
+/* */ // Byte code:
+/* */ // 0: aload_0
+/* */ // 1: invokestatic 176 NET/worlds/console/Gamma:parseCommandLine ([Ljava/lang/String;)Ljava/lang/String;
+/* */ // 4: astore_1
+/* */ // 5: ldc -76
+/* */ // 7: invokestatic 182 java/lang/System:getProperty (Ljava/lang/String;)Ljava/lang/String;
+/* */ // 10: astore_2
+/* */ // 11: aload_2
+/* */ // 12: invokestatic 188 NET/worlds/console/Gamma:checkVersion (Ljava/lang/String;)Z
+/* */ // 15: ifne +7 -> 22
+/* */ // 18: iconst_0
+/* */ // 19: invokestatic 190 java/lang/System:exit (I)V
+/* */ // 22: ldc -62
+/* */ // 24: invokestatic 182 java/lang/System:getProperty (Ljava/lang/String;)Ljava/lang/String;
+/* */ // 27: astore_3
+/* */ // 28: getstatic 196 java/lang/System:out Ljava/io/PrintStream;
+/* */ // 31: new 200 java/lang/StringBuilder
+/* */ // 34: dup
+/* */ // 35: ldc -54
+/* */ // 37: invokespecial 204 java/lang/StringBuilder:<init> (Ljava/lang/String;)V
+/* */ // 40: aload_2
+/* */ // 41: invokevirtual 205 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 44: ldc -47
+/* */ // 46: invokevirtual 205 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 49: ldc -62
+/* */ // 51: invokestatic 182 java/lang/System:getProperty (Ljava/lang/String;)Ljava/lang/String;
+/* */ // 54: invokevirtual 205 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 57: invokevirtual 211 java/lang/StringBuilder:toString ()Ljava/lang/String;
+/* */ // 60: invokevirtual 214 java/io/PrintStream:println (Ljava/lang/String;)V
+/* */ // 63: ldc -37
+/* */ // 65: astore 4
+/* */ // 67: iconst_0
+/* */ // 68: istore 5
+/* */ // 70: aload_3
+/* */ // 71: ldc -35
+/* */ // 73: invokevirtual 223 java/lang/String:indexOf (Ljava/lang/String;)I
+/* */ // 76: iconst_m1
+/* */ // 77: if_icmpeq +10 -> 87
+/* */ // 80: ldc -29
+/* */ // 82: astore 4
+/* */ // 84: iconst_1
+/* */ // 85: istore 5
+/* */ // 87: getstatic 196 java/lang/System:out Ljava/io/PrintStream;
+/* */ // 90: new 200 java/lang/StringBuilder
+/* */ // 93: dup
+/* */ // 94: ldc -27
+/* */ // 96: invokespecial 204 java/lang/StringBuilder:<init> (Ljava/lang/String;)V
+/* */ // 99: new 200 java/lang/StringBuilder
+/* */ // 102: dup
+/* */ // 103: getstatic 48 NET/worlds/console/Gamma:_dllPath Ljava/lang/String;
+/* */ // 106: invokestatic 231 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String;
+/* */ // 109: invokespecial 204 java/lang/StringBuilder:<init> (Ljava/lang/String;)V
+/* */ // 112: ldc -21
+/* */ // 114: invokevirtual 205 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 117: invokevirtual 211 java/lang/StringBuilder:toString ()Ljava/lang/String;
+/* */ // 120: invokestatic 237 NET/worlds/console/Gamma:earlyURLUnalias (Ljava/lang/String;)Ljava/lang/String;
+/* */ // 123: invokevirtual 205 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 126: invokevirtual 211 java/lang/StringBuilder:toString ()Ljava/lang/String;
+/* */ // 129: invokevirtual 214 java/io/PrintStream:println (Ljava/lang/String;)V
+/* */ // 132: new 200 java/lang/StringBuilder
+/* */ // 135: dup
+/* */ // 136: getstatic 48 NET/worlds/console/Gamma:_dllPath Ljava/lang/String;
+/* */ // 139: invokestatic 231 java/lang/String:valueOf (Ljava/lang/Object;)Ljava/lang/String;
+/* */ // 142: invokespecial 204 java/lang/StringBuilder:<init> (Ljava/lang/String;)V
+/* */ // 145: ldc -21
+/* */ // 147: invokevirtual 205 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 150: invokevirtual 211 java/lang/StringBuilder:toString ()Ljava/lang/String;
+/* */ // 153: invokestatic 237 NET/worlds/console/Gamma:earlyURLUnalias (Ljava/lang/String;)Ljava/lang/String;
+/* */ // 156: invokestatic 240 java/lang/System:load (Ljava/lang/String;)V
+/* */ // 159: iload 5
+/* */ // 161: ifeq +6 -> 167
+/* */ // 164: invokestatic 243 NET/worlds/console/Window:doMicrosoftVMHacks ()V
+/* */ // 167: invokestatic 248 NET/worlds/core/IniFile:gamma ()LNET/worlds/core/IniFile;
+/* */ // 170: ldc -2
+/* */ // 172: iconst_0
+/* */ // 173: invokevirtual 256 NET/worlds/core/IniFile:getIniInt (Ljava/lang/String;I)I
+/* */ // 176: ifne +17 -> 193
+/* */ // 179: aload_1
+/* */ // 180: getstatic 57 NET/worlds/console/Gamma:_autoplay Z
+/* */ // 183: invokestatic 260 NET/worlds/console/Startup:synchronizeStartup (Ljava/lang/String;Z)Z
+/* */ // 186: ifne +7 -> 193
+/* */ // 189: iconst_0
+/* */ // 190: invokestatic 190 java/lang/System:exit (I)V
+/* */ // 193: iload 5
+/* */ // 195: ifne +8 -> 203
+/* */ // 198: ldc_w 266
+/* */ // 201: astore 4
+/* */ // 203: new 268 java/awt/Color
+/* */ // 206: dup
+/* */ // 207: iconst_0
+/* */ // 208: iconst_0
+/* */ // 209: iconst_0
+/* */ // 210: invokespecial 270 java/awt/Color:<init> (III)V
+/* */ // 213: astore 6
+/* */ // 215: new 273 java/net/URL
+/* */ // 218: dup
+/* */ // 219: ldc_w 275
+/* */ // 222: invokespecial 277 java/net/URL:<init> (Ljava/lang/String;)V
+/* */ // 225: astore 7
+/* */ // 227: aload 7
+/* */ // 229: invokevirtual 278 java/net/URL:openConnection ()Ljava/net/URLConnection;
+/* */ // 232: astore 8
+/* */ // 234: aload 8
+/* */ // 236: invokevirtual 282 java/net/URLConnection:connect ()V
+/* */ // 239: goto +10 -> 249
+/* */ // 242: astore 7
+/* */ // 244: goto +5 -> 249
+/* */ // 247: astore 7
+/* */ // 249: iload 5
+/* */ // 251: ifne +8 -> 259
+/* */ // 254: aload 4
+/* */ // 256: invokestatic 287 NET/worlds/console/Window:hookWinAPIs (Ljava/lang/String;)V
+/* */ // 259: ldc_w 290
+/* */ // 262: invokestatic 237 NET/worlds/console/Gamma:earlyURLUnalias (Ljava/lang/String;)Ljava/lang/String;
+/* */ // 265: astore 7
+/* */ // 267: invokestatic 292 NET/worlds/core/Std:initProductName ()V
+/* */ // 270: invokestatic 297 NET/worlds/core/IniFile:override ()LNET/worlds/core/IniFile;
+/* */ // 273: astore 8
+/* */ // 275: aload 8
+/* */ // 277: ldc_w 300
+/* */ // 280: ldc_w 302
+/* */ // 283: invokestatic 304 NET/worlds/console/Console:message (Ljava/lang/String;)Ljava/lang/String;
+/* */ // 286: invokevirtual 309 NET/worlds/core/IniFile:getIniString (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+/* */ // 289: astore 9
+/* */ // 291: new 313 NET/worlds/console/SplashScreen
+/* */ // 294: dup
+/* */ // 295: invokestatic 315 NET/worlds/console/GammaFrame:getDefaultTitle ()Ljava/lang/String;
+/* */ // 298: aload 9
+/* */ // 300: invokespecial 320 NET/worlds/console/SplashScreen:<init> (Ljava/lang/String;Ljava/lang/String;)V
+/* */ // 303: putstatic 40 NET/worlds/console/Gamma:splash LNET/worlds/console/SplashScreen;
+/* */ // 306: getstatic 40 NET/worlds/console/Gamma:splash LNET/worlds/console/SplashScreen;
+/* */ // 309: iconst_1
+/* */ // 310: invokevirtual 321 NET/worlds/console/SplashScreen:setVisible (Z)V
+/* */ // 313: getstatic 40 NET/worlds/console/Gamma:splash LNET/worlds/console/SplashScreen;
+/* */ // 316: invokevirtual 322 NET/worlds/console/SplashScreen:toFront ()V
+/* */ // 319: invokestatic 248 NET/worlds/core/IniFile:gamma ()LNET/worlds/core/IniFile;
+/* */ // 322: ldc_w 325
+/* */ // 325: ldc_w 327
+/* */ // 328: invokevirtual 309 NET/worlds/core/IniFile:getIniString (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+/* */ // 331: astore 10
+/* */ // 333: invokestatic 248 NET/worlds/core/IniFile:gamma ()LNET/worlds/core/IniFile;
+/* */ // 336: ldc_w 329
+/* */ // 339: ldc_w 327
+/* */ // 342: invokevirtual 309 NET/worlds/core/IniFile:getIniString (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+/* */ // 345: astore 11
+/* */ // 347: aload 10
+/* */ // 349: invokevirtual 331 java/lang/String:length ()I
+/* */ // 352: bipush 7
+/* */ // 354: if_icmple +88 -> 442
+/* */ // 357: invokestatic 334 java/lang/System:getProperties ()Ljava/util/Properties;
+/* */ // 360: astore 12
+/* */ // 362: getstatic 196 java/lang/System:out Ljava/io/PrintStream;
+/* */ // 365: new 200 java/lang/StringBuilder
+/* */ // 368: dup
+/* */ // 369: ldc_w 338
+/* */ // 372: invokespecial 204 java/lang/StringBuilder:<init> (Ljava/lang/String;)V
+/* */ // 375: aload 10
+/* */ // 377: invokevirtual 205 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 380: ldc_w 340
+/* */ // 383: invokevirtual 205 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 386: aload 11
+/* */ // 388: invokevirtual 205 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 391: invokevirtual 211 java/lang/StringBuilder:toString ()Ljava/lang/String;
+/* */ // 394: invokevirtual 214 java/io/PrintStream:println (Ljava/lang/String;)V
+/* */ // 397: aload 12
+/* */ // 399: ldc_w 342
+/* */ // 402: invokevirtual 344 java/util/Properties:remove (Ljava/lang/Object;)Ljava/lang/Object;
+/* */ // 405: pop
+/* */ // 406: aload 12
+/* */ // 408: ldc_w 350
+/* */ // 411: invokevirtual 344 java/util/Properties:remove (Ljava/lang/Object;)Ljava/lang/Object;
+/* */ // 414: pop
+/* */ // 415: aload 12
+/* */ // 417: ldc_w 342
+/* */ // 420: aload 10
+/* */ // 422: invokevirtual 352 java/util/Properties:put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+/* */ // 425: pop
+/* */ // 426: aload 12
+/* */ // 428: ldc_w 350
+/* */ // 431: aload 11
+/* */ // 433: invokevirtual 352 java/util/Properties:put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+/* */ // 436: pop
+/* */ // 437: aload 12
+/* */ // 439: invokestatic 356 java/lang/System:setProperties (Ljava/util/Properties;)V
+/* */ // 442: new 360 NET/worlds/console/ProgressBar
+/* */ // 445: dup
+/* */ // 446: ldc_w 362
+/* */ // 449: bipush 12
+/* */ // 451: invokespecial 364 NET/worlds/console/ProgressBar:<init> (Ljava/lang/String;I)V
+/* */ // 454: putstatic 367 NET/worlds/console/Gamma:loadProgress LNET/worlds/console/ProgressBar;
+/* */ // 457: getstatic 40 NET/worlds/console/Gamma:splash LNET/worlds/console/SplashScreen;
+/* */ // 460: invokevirtual 369 NET/worlds/console/SplashScreen:getSize ()Ljava/awt/Dimension;
+/* */ // 463: astore 14
+/* */ // 465: getstatic 367 NET/worlds/console/Gamma:loadProgress LNET/worlds/console/ProgressBar;
+/* */ // 468: invokevirtual 373 NET/worlds/console/ProgressBar:getSize ()Ljava/awt/Dimension;
+/* */ // 471: astore 15
+/* */ // 473: getstatic 40 NET/worlds/console/Gamma:splash LNET/worlds/console/SplashScreen;
+/* */ // 476: invokevirtual 374 NET/worlds/console/SplashScreen:getLocationOnScreen ()Ljava/awt/Point;
+/* */ // 479: getfield 378 java/awt/Point:x I
+/* */ // 482: aload 14
+/* */ // 484: getfield 383 java/awt/Dimension:width I
+/* */ // 487: iconst_1
+/* */ // 488: ishr
+/* */ // 489: iadd
+/* */ // 490: aload 15
+/* */ // 492: getfield 383 java/awt/Dimension:width I
+/* */ // 495: iconst_1
+/* */ // 496: ishr
+/* */ // 497: isub
+/* */ // 498: istore 12
+/* */ // 500: getstatic 40 NET/worlds/console/Gamma:splash LNET/worlds/console/SplashScreen;
+/* */ // 503: invokevirtual 374 NET/worlds/console/SplashScreen:getLocationOnScreen ()Ljava/awt/Point;
+/* */ // 506: getfield 388 java/awt/Point:y I
+/* */ // 509: aload 14
+/* */ // 511: getfield 391 java/awt/Dimension:height I
+/* */ // 514: iadd
+/* */ // 515: istore 13
+/* */ // 517: getstatic 367 NET/worlds/console/Gamma:loadProgress LNET/worlds/console/ProgressBar;
+/* */ // 520: iload 12
+/* */ // 522: iload 13
+/* */ // 524: invokevirtual 394 NET/worlds/console/ProgressBar:setLocation (II)V
+/* */ // 527: getstatic 367 NET/worlds/console/Gamma:loadProgress LNET/worlds/console/ProgressBar;
+/* */ // 530: iconst_1
+/* */ // 531: invokevirtual 397 NET/worlds/console/ProgressBar:setVisible (Z)V
+/* */ // 534: iconst_3
+/* */ // 535: invokestatic 398 java/awt/Cursor:getPredefinedCursor (I)Ljava/awt/Cursor;
+/* */ // 538: astore 16
+/* */ // 540: getstatic 367 NET/worlds/console/Gamma:loadProgress LNET/worlds/console/ProgressBar;
+/* */ // 543: aload 16
+/* */ // 545: invokevirtual 404 NET/worlds/console/ProgressBar:setCursor (Ljava/awt/Cursor;)V
+/* */ // 548: getstatic 40 NET/worlds/console/Gamma:splash LNET/worlds/console/SplashScreen;
+/* */ // 551: aload 16
+/* */ // 553: invokevirtual 408 NET/worlds/console/SplashScreen:setCursor (Ljava/awt/Cursor;)V
+/* */ // 556: aload 7
+/* */ // 558: invokevirtual 331 java/lang/String:length ()I
+/* */ // 561: iconst_1
+/* */ // 562: if_icmple +45 -> 607
+/* */ // 565: aload 7
+/* */ // 567: iconst_1
+/* */ // 568: invokevirtual 409 java/lang/String:charAt (I)C
+/* */ // 571: bipush 58
+/* */ // 573: if_icmpne +34 -> 607
+/* */ // 576: new 200 java/lang/StringBuilder
+/* */ // 579: dup
+/* */ // 580: invokespecial 413 java/lang/StringBuilder:<init> ()V
+/* */ // 583: aload 7
+/* */ // 585: iconst_0
+/* */ // 586: invokevirtual 409 java/lang/String:charAt (I)C
+/* */ // 589: invokevirtual 414 java/lang/StringBuilder:append (C)Ljava/lang/StringBuilder;
+/* */ // 592: ldc_w 417
+/* */ // 595: invokevirtual 205 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
+/* */ // 598: invokevirtual 211 java/lang/StringBuilder:toString ()Ljava/lang/String;
+/* */ // 601: invokestatic 419 NET/worlds/console/Startup:computeVolumeInfo (Ljava/lang/String;)V
+/* */ // 604: goto +7 -> 611
+/* */ // 607: aconst_null
+/* */ // 608: invokestatic 419 NET/worlds/console/Startup:computeVolumeInfo (Ljava/lang/String;)V
+/* */ // 611: invokestatic 422 NET/worlds/console/LogFile:open ()V
+/* */ // 614: new 1 NET/worlds/console/Gamma
+/* */ // 617: dup
+/* */ // 618: aload_1
+/* */ // 619: invokespecial 427 NET/worlds/console/Gamma:<init> (Ljava/lang/String;)V
+/* */ // 622: astore 17
+/* */ // 624: aload 17
+/* */ // 626: invokestatic 428 NET/worlds/console/Main:register (LNET/worlds/console/MainCallback;)V
+/* */ // 629: getstatic 367 NET/worlds/console/Gamma:loadProgress LNET/worlds/console/ProgressBar;
+/* */ // 632: ifnull +18 -> 650
+/* */ // 635: getstatic 367 NET/worlds/console/Gamma:loadProgress LNET/worlds/console/ProgressBar;
+/* */ // 638: ldc_w 434
+/* */ // 641: invokevirtual 436 NET/worlds/console/ProgressBar:setMessage (Ljava/lang/String;)V
+/* */ // 644: getstatic 367 NET/worlds/console/Gamma:loadProgress LNET/worlds/console/ProgressBar;
+/* */ // 647: invokevirtual 439 NET/worlds/console/ProgressBar:advance ()V
+/* */ // 650: new 442 java/lang/Thread
+/* */ // 653: dup
+/* */ // 654: aload 17
+/* */ // 656: ldc_w 444
+/* */ // 659: invokespecial 446 java/lang/Thread:<init> (Ljava/lang/Runnable;Ljava/lang/String;)V
+/* */ // 662: astore 18
+/* */ // 664: aload 18
+/* */ // 666: iconst_1
+/* */ // 667: invokevirtual 449 java/lang/Thread:setDaemon (Z)V
+/* */ // 670: aload 18
+/* */ // 672: invokevirtual 452 java/lang/Thread:start ()V
+/* */ // 675: new 455 NET/worlds/console/Gamma$PriorityAdjuster
+/* */ // 678: aload 18
+/* */ // 680: invokespecial 457 NET/worlds/console/Gamma$PriorityAdjuster:<init> (Ljava/lang/Thread;)V
+/* */ // 683: getstatic 367 NET/worlds/console/Gamma:loadProgress LNET/worlds/console/ProgressBar;
+/* */ // 686: ifnull +18 -> 704
+/* */ // 689: getstatic 367 NET/worlds/console/Gamma:loadProgress LNET/worlds/console/ProgressBar;
+/* */ // 692: ldc_w 460
+/* */ // 695: invokevirtual 436 NET/worlds/console/ProgressBar:setMessage (Ljava/lang/String;)V
+/* */ // 698: getstatic 367 NET/worlds/console/Gamma:loadProgress LNET/worlds/console/ProgressBar;
+/* */ // 701: invokevirtual 439 NET/worlds/console/ProgressBar:advance ()V
+/* */ // 704: new 462 NET/worlds/console/Netscape
+/* */ // 707: dup
+/* */ // 708: invokespecial 464 NET/worlds/console/Netscape:<init> ()V
+/* */ // 711: astore 19
+/* */ // 713: aload 18
+/* */ // 715: invokevirtual 465 java/lang/Thread:join ()V
+/* */ // 718: goto +18 -> 736
+/* */ // 721: astore 20
+/* */ // 723: new 468 java/lang/Error
+/* */ // 726: dup
+/* */ // 727: aload 20
+/* */ // 729: invokevirtual 470 java/lang/InterruptedException:toString ()Ljava/lang/String;
+/* */ // 732: invokespecial 473 java/lang/Error:<init> (Ljava/lang/String;)V
+/* */ // 735: athrow
+/* */ // 736: invokestatic 474 NET/worlds/console/Console:getFrame ()LNET/worlds/console/GammaFrame;
+/* */ // 739: astore 20
+/* */ // 741: aload 20
+/* */ // 743: ifnull +93 -> 836
+/* */ // 746: aload 20
+/* */ // 748: iconst_0
+/* */ // 749: invokevirtual 478 NET/worlds/console/GammaFrame:setVisible (Z)V
+/* */ // 752: goto +84 -> 836
+/* */ // 755: astore 17
+/* */ // 757: getstatic 196 java/lang/System:out Ljava/io/PrintStream;
+/* */ // 760: ldc_w 479
+/* */ // 763: invokevirtual 214 java/io/PrintStream:println (Ljava/lang/String;)V
+/* */ // 766: getstatic 196 java/lang/System:out Ljava/io/PrintStream;
+/* */ // 769: new 200 java/lang/StringBuilder
+/* */ // 772: dup
+/* */ // 773: ldc_w 481
+/* */ // 776: invokespecial 204 java/lang/StringBuilder:<init> (Ljava/lang/String;)V
+/* */ // 779: aload 17
+/* */ // 781: invokevirtual 483 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
+/* */ // 784: invokevirtual 211 java/lang/StringBuilder:toString ()Ljava/lang/String;
+/* */ // 787: invokevirtual 214 java/io/PrintStream:println (Ljava/lang/String;)V
+/* */ // 790: invokestatic 486 NET/worlds/console/LogFile:close ()V
+/* */ // 793: goto +46 -> 839
+/* */ // 796: astore 17
+/* */ // 798: getstatic 196 java/lang/System:out Ljava/io/PrintStream;
+/* */ // 801: new 200 java/lang/StringBuilder
+/* */ // 804: dup
+/* */ // 805: ldc_w 489
+/* */ // 808: invokespecial 204 java/lang/StringBuilder:<init> (Ljava/lang/String;)V
+/* */ // 811: aload 17
+/* */ // 813: invokevirtual 483 java/lang/StringBuilder:append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
+/* */ // 816: invokevirtual 211 java/lang/StringBuilder:toString ()Ljava/lang/String;
+/* */ // 819: invokevirtual 214 java/io/PrintStream:println (Ljava/lang/String;)V
+/* */ // 822: invokestatic 486 NET/worlds/console/LogFile:close ()V
+/* */ // 825: goto +14 -> 839
+/* */ // 828: astore 21
+/* */ // 830: invokestatic 486 NET/worlds/console/LogFile:close ()V
+/* */ // 833: aload 21
+/* */ // 835: athrow
+/* */ // 836: invokestatic 486 NET/worlds/console/LogFile:close ()V
+/* */ // 839: iconst_0
+/* */ // 840: invokestatic 190 java/lang/System:exit (I)V
+/* */ // 843: return
+/* */ // Line number table:
+/* */ // Java source line #246 -> byte code offset #0
+/* */ // Java source line #249 -> byte code offset #5
+/* */ // Java source line #250 -> byte code offset #11
+/* */ // Java source line #251 -> byte code offset #18
+/* */ // Java source line #253 -> byte code offset #22
+/* */ // Java source line #255 -> byte code offset #28
+/* */ // Java source line #256 -> byte code offset #49
+/* */ // Java source line #255 -> byte code offset #60
+/* */ // Java source line #258 -> byte code offset #63
+/* */ // Java source line #261 -> byte code offset #67
+/* */ // Java source line #263 -> byte code offset #70
+/* */ // Java source line #264 -> byte code offset #80
+/* */ // Java source line #266 -> byte code offset #84
+/* */ // Java source line #271 -> byte code offset #87
+/* */ // Java source line #272 -> byte code offset #99
+/* */ // Java source line #271 -> byte code offset #129
+/* */ // Java source line #273 -> byte code offset #132
+/* */ // Java source line #275 -> byte code offset #159
+/* */ // Java source line #276 -> byte code offset #164
+/* */ // Java source line #284 -> byte code offset #167
+/* */ // Java source line #285 -> byte code offset #179
+/* */ // Java source line #286 -> byte code offset #189
+/* */ // Java source line #296 -> byte code offset #193
+/* */ // Java source line #297 -> byte code offset #198
+/* */ // Java source line #300 -> byte code offset #203
+/* */ // Java source line #304 -> byte code offset #215
+/* */ // Java source line #305 -> byte code offset #227
+/* */ // Java source line #306 -> byte code offset #234
+/* */ // Java source line #307 -> byte code offset #239
+/* */ // Java source line #308 -> byte code offset #247
+/* */ // Java source line #326 -> byte code offset #249
+/* */ // Java source line #327 -> byte code offset #254
+/* */ // Java source line #331 -> byte code offset #259
+/* */ // Java source line #333 -> byte code offset #267
+/* */ // Java source line #336 -> byte code offset #270
+/* */ // Java source line #337 -> byte code offset #275
+/* */ // Java source line #338 -> byte code offset #280
+/* */ // Java source line #337 -> byte code offset #286
+/* */ // Java source line #339 -> byte code offset #291
+/* */ // Java source line #340 -> byte code offset #306
+/* */ // Java source line #341 -> byte code offset #313
+/* */ // Java source line #343 -> byte code offset #319
+/* */ // Java source line #344 -> byte code offset #333
+/* */ // Java source line #345 -> byte code offset #336
+/* */ // Java source line #344 -> byte code offset #345
+/* */ // Java source line #347 -> byte code offset #347
+/* */ // Java source line #349 -> byte code offset #357
+/* */ // Java source line #350 -> byte code offset #362
+/* */ // Java source line #351 -> byte code offset #386
+/* */ // Java source line #350 -> byte code offset #394
+/* */ // Java source line #352 -> byte code offset #397
+/* */ // Java source line #353 -> byte code offset #406
+/* */ // Java source line #354 -> byte code offset #415
+/* */ // Java source line #355 -> byte code offset #426
+/* */ // Java source line #356 -> byte code offset #437
+/* */ // Java source line #359 -> byte code offset #442
+/* */ // Java source line #360 -> byte code offset #449
+/* */ // Java source line #359 -> byte code offset #451
+/* */ // Java source line #362 -> byte code offset #457
+/* */ // Java source line #363 -> byte code offset #465
+/* */ // Java source line #364 -> byte code offset #473
+/* */ // Java source line #365 -> byte code offset #500
+/* */ // Java source line #366 -> byte code offset #517
+/* */ // Java source line #367 -> byte code offset #527
+/* */ // Java source line #370 -> byte code offset #534
+/* */ // Java source line #369 -> byte code offset #538
+/* */ // Java source line #371 -> byte code offset #540
+/* */ // Java source line #372 -> byte code offset #548
+/* */ // Java source line #375 -> byte code offset #556
+/* */ // Java source line #376 -> byte code offset #576
+/* */ // Java source line #378 -> byte code offset #607
+/* */ // Java source line #383 -> byte code offset #611
+/* */ // Java source line #390 -> byte code offset #614
+/* */ // Java source line #393 -> byte code offset #624
+/* */ // Java source line #395 -> byte code offset #629
+/* */ // Java source line #396 -> byte code offset #635
+/* */ // Java source line #397 -> byte code offset #644
+/* */ // Java source line #400 -> byte code offset #650
+/* */ // Java source line #401 -> byte code offset #664
+/* */ // Java source line #402 -> byte code offset #670
+/* */ // Java source line #404 -> byte code offset #675
+/* */ // Java source line #408 -> byte code offset #683
+/* */ // Java source line #409 -> byte code offset #689
+/* */ // Java source line #410 -> byte code offset #698
+/* */ // Java source line #414 -> byte code offset #704
+/* */ // Java source line #418 -> byte code offset #713
+/* */ // Java source line #419 -> byte code offset #718
+/* */ // Java source line #420 -> byte code offset #723
+/* */ // Java source line #423 -> byte code offset #736
+/* */ // Java source line #424 -> byte code offset #741
+/* */ // Java source line #425 -> byte code offset #746
+/* */ // Java source line #427 -> byte code offset #752
+/* */ // Java source line #428 -> byte code offset #757
+/* */ // Java source line #429 -> byte code offset #766
+/* */ // Java source line #454 -> byte code offset #790
+/* */ // Java source line #451 -> byte code offset #796
+/* */ // Java source line #452 -> byte code offset #798
+/* */ // Java source line #454 -> byte code offset #822
+/* */ // Java source line #453 -> byte code offset #828
+/* */ // Java source line #454 -> byte code offset #830
+/* */ // Java source line #455 -> byte code offset #833
+/* */ // Java source line #454 -> byte code offset #836
+/* */ // Java source line #458 -> byte code offset #839
+/* */ // Java source line #459 -> byte code offset #843
+/* */ // Local variable table:
+/* */ // start length slot name signature
+/* */ // 0 844 0 args String[]
+/* */ // 4 615 1 worldURL String
+/* */ // 10 31 2 s String
+/* */ // 27 44 3 vendor String
+/* */ // 65 190 4 awtDll String
+/* */ // 68 182 5 msvm boolean
+/* */ // 213 3 6 black java.awt.Color
+/* */ // 225 3 7 stupid java.net.URL
+/* */ // 242 1 7 localMalformedURLException java.net.MalformedURLException
+/* */ // 247 1 7 localIOException java.io.IOException
+/* */ // 265 319 7 inihome String
+/* */ // 232 3 8 uc java.net.URLConnection
+/* */ // 273 3 8 install IniFile
+/* */ // 289 10 9 splashgif String
+/* */ // 331 90 10 proxyIP String
+/* */ // 345 87 11 proxyPort String
+/* */ // 360 78 12 p java.util.Properties
+/* */ // 498 23 12 px int
+/* */ // 515 8 13 py int
+/* */ // 463 47 14 sd java.awt.Dimension
+/* */ // 471 20 15 d java.awt.Dimension
+/* */ // 538 14 16 c java.awt.Cursor
+/* */ // 622 33 17 g Gamma
+/* */ // 755 25 17 oome OutOfMemoryError
+/* */ // 796 16 17 thr Throwable
+/* */ // 662 52 18 mainThread Thread
+/* */ // 711 3 19 ns Netscape
+/* */ // 721 7 20 e InterruptedException
+/* */ // 739 8 20 frame GammaFrame
+/* */ // 828 6 21 localObject Object
+/* */ // Exception table:
+/* */ // from to target type
+/* */ // 215 239 242 java/net/MalformedURLException
+/* */ // 215 239 247 java/io/IOException
+/* */ // 713 718 721 java/lang/InterruptedException
+/* */ // 611 752 755 java/lang/OutOfMemoryError
+/* */ // 611 752 796 java/lang/Throwable
+/* */ // 611 790 828 finally
+/* */ // 796 822 828 finally
+/* */ }
+/* */
+/* */ public static void hideSplash()
+/* */ {
+/* 462 */ if (splash != null)
+/* */ {
+/* 464 */ splash.setVisible(false);
+/* 465 */ splash.dispose();
+/* 466 */ splash = null;
+/* 467 */ if (loadProgress != null) {
+/* 468 */ loadProgress.setVisible(false);
+/* 469 */ loadProgress.dispose();
+/* 470 */ loadProgress = null;
+/* */ }
+/* */ }
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */ public static String earlyURLUnalias(String url)
+/* */ {
+/* 480 */ if (url.startsWith("home:"))
+/* 481 */ url = _home + url.substring(5);
+/* 482 */ if (url.startsWith("file:")) {
+/* 483 */ url = url.substring(5);
+/* */ }
+/* 485 */ url = url.replace('\\', '/');
+/* */
+/* */
+/* 488 */ if ((url.length() < 2) || ((url.charAt(1) != ':') && (!url.startsWith("//")))) {
+/* 489 */ String curDir = System.getProperty("user.dir").replace('\\', '/');
+/* 490 */ if (!curDir.endsWith("/"))
+/* 491 */ curDir = curDir + "/";
+/* 492 */ url = curDir + url;
+/* */ }
+/* */
+/* 495 */ return url;
+/* */ }
+/* */
+/* 498 */ private static String _home = "file:";
+/* 499 */ private static String _dllPath = "home:";
+/* */
+/* 501 */ private static Hashtable<String, String> _params = new Hashtable();
+/* 502 */ private static boolean _autoplay = false;
+/* */ static Shaper shaper;
+/* */
+/* 505 */ public static String getParam(String name) { return (String)_params.get(name); }
+/* */
+/* */
+/* */
+/* */
+/* */ private String startingURL;
+/* */
+/* */
+/* */
+/* */ private String loadErr;
+/* */
+/* */
+/* */
+/* */ private static String parseCommandLine(String[] args)
+/* */ {
+/* 520 */ String world = null;
+/* */
+/* 522 */ for (int i = 0; i < args.length; i++) {
+/* 523 */ if ((args[i].length() > 0) && (args[i].charAt(0) == '-')) {
+/* 524 */ if (args[i].equalsIgnoreCase("-help")) {
+/* 525 */ usage("Help message");
+/* 526 */ } else if (args[i].equalsIgnoreCase("-home")) {
+/* 527 */ i++; if (i == args.length)
+/* 528 */ usage("-home must be followed by a path:");
+/* 529 */ _home = "file:" + args[i];
+/* 530 */ System.out.println("Home: " + args[i]);
+/* 531 */ } else if (args[i].equalsIgnoreCase("-dllpath")) {
+/* 532 */ i++; if (i == args.length)
+/* 533 */ usage("-dllpath must be followed by a path:");
+/* 534 */ _dllPath = args[i];
+/* 535 */ } else if (args[i].equalsIgnoreCase("-set")) {
+/* 536 */ i++; if (i != args.length) { i++; if (i != args.length) {}
+/* 537 */ } else { usage("-set must be followed by a name of a parameter to set and its value");
+/* */ }
+/* 539 */ _params.put(args[(i - 1)], args[i]);
+/* 540 */ } else if (args[i].equalsIgnoreCase("-autoplay")) {
+/* 541 */ _autoplay = true;
+/* 542 */ } else if (!args[i].equalsIgnoreCase("-embedding"))
+/* */ {
+/* 544 */ if (!args[i].equalsIgnoreCase("/embedding"))
+/* */ {
+/* 546 */ if (!args[i].equalsIgnoreCase("-automation"))
+/* */ {
+/* 548 */ if (!args[i].equalsIgnoreCase("/automation"))
+/* */ {
+/* */
+/* 551 */ usage("Unrecognized command line option: " + args[i]); } } }
+/* */ }
+/* */ } else {
+/* 554 */ if (world != null)
+/* 555 */ usage("There may be only one command-line world URL");
+/* 556 */ world = args[i];
+/* */ }
+/* */ }
+/* */
+/* 560 */ _home = makeEndWithSlash(_home);
+/* 561 */ _dllPath = makeEndWithSlash(_dllPath);
+/* */
+/* 563 */ return world;
+/* */ }
+/* */
+/* */ private static String makeEndWithSlash(String url)
+/* */ {
+/* 568 */ if ((!url.endsWith("\\")) && (!url.endsWith("/")) && (!url.endsWith(":"))) {
+/* 569 */ url = url + "\\";
+/* */ }
+/* 571 */ return url;
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ public static void usage(String msg)
+/* */ {
+/* 580 */ System.out.println("Usage: javaw {-java_options} NET.worlds.console.Gamma {-options} WorldURL\nWorldURL is optional, the default world is the first WorldsMark.\nYes, it's gross, but the 'NET.worlds.console.Gamma' is required\nSome useful -java_options:\n -classpath Path Class search path [default is CLASSPATH env var]\n-options:\n -help Print this message (still runs Gamma)\n -home HomeDir Gamma home directory [defaults to current dir]\n -dllpath DLLPath Path to the native code DLL [current directory]\n -set Name Value Set the named parameter to the specified value");
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* 590 */ throw new Error(msg);
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ public static String getHome()
+/* */ {
+/* 599 */ return _home;
+/* */ }
+/* */
+/* */ public static String getExePath() {
+/* 603 */ return getHome() + "bin\\";
+/* */ }
+/* */
+/* */ public static void dllLoad(String dll)
+/* */ {
+/* 608 */ System.load(URL.make(_dllPath + dll).unalias());
+/* */ }
+/* */
+/* */
+/* */
+/* */ public static Shaper getShaper()
+/* */ {
+/* 615 */ return shaper;
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */ public static boolean shaperEnabled()
+/* */ {
+/* 623 */ return (IniFile.gamma().getIniInt("DISABLESHAPER", 1) == 0) || (
+/* 624 */ IniFile.override().getIniInt("DISABLESHAPER", 1) == 0);
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ private Gamma(String url)
+/* */ {
+/* 633 */ this.startingURL = url;
+/* */ }
+/* */
+/* */
+/* */
+/* */ private void die(Throwable e)
+/* */ {
+/* 640 */ e.printStackTrace(System.out);
+/* 641 */ if (getShaper() != null) {
+/* 642 */ Console.println(Console.message("Saving-modified"));
+/* 643 */ Enumeration<World> worlds = World.getWorlds();
+/* 644 */ while (worlds.hasMoreElements()) {
+/* 645 */ World w = (World)worlds.nextElement();
+/* 646 */ if (w.getEdited()) {
+/* 647 */ String base = w.getSourceURL().unalias();
+/* */
+/* 649 */ if (base.toLowerCase().endsWith(".wor")) {
+/* 650 */ base = base.substring(0, base.length() - 4);
+/* */ }
+/* 652 */ if (base.toLowerCase().endsWith(".world")) {
+/* 653 */ base = base.substring(0, base.length() - 6);
+/* */ }
+/* 655 */ int dash = base.lastIndexOf("-");
+/* 656 */ if (dash != -1) {
+/* 657 */ for (int i = dash + 1; i < base.length(); i++) {
+/* 658 */ if (!Character.isDigit(base.charAt(i))) {
+/* 659 */ dash = -1;
+/* 660 */ break;
+/* */ }
+/* */ }
+/* */ }
+/* 664 */ if (dash != -1)
+/* 665 */ base = base.substring(0, dash);
+/* 666 */ String name = base + ".world";
+/* 667 */ int number = 1;
+/* 668 */ while (new File(name).exists()) {
+/* 669 */ name = base + "-" + number + ".world";
+/* 670 */ number++;
+/* */ }
+/* 672 */ Object[] arguments = { new String(w.getName()),
+/* 673 */ new String(w.getSourceURL()), new String(name) };
+/* 674 */ Console.println(MessageFormat.format(
+/* 675 */ Console.message("Saving-name"), arguments));
+/* */ try {
+/* 677 */ Shaper.doSave(name, w, false);
+/* */ } catch (Exception ex) {
+/* 679 */ Console.println(Console.message("Ignoring") + ex);
+/* */ } catch (Error er) {
+/* 681 */ Console.println(Console.message("Ignoring") + er);
+/* */ }
+/* */ }
+/* */ }
+/* */ }
+/* */ }
+/* */
+/* */ public class RecordPosition implements MainCallback, MainTerminalCallback {
+/* */ public RecordPosition() {}
+/* */
+/* */ public void mainCallback() {}
+/* */
+/* */ public void terminalCallback() {
+/* 694 */ Pilot pilot = Pilot.getActive();
+/* 695 */ if (pilot != null)
+/* 696 */ IniFile.gamma().setIniString("RestartAt", pilot.getURL());
+/* 697 */ Main.unregister(this);
+/* */ }
+/* */ }
+/* */
+/* */
+/* */
+/* */ public void run()
+/* */ {
+/* 705 */ Main.register(new RecordPosition());
+/* */ try
+/* */ {
+/* 708 */ Main.mainLoop();
+/* */ } catch (Throwable e) {
+/* 710 */ die(e);
+/* */ }
+/* */ }
+/* */
+/* */ class StartupTeleport implements MainCallback { StartupTeleport() {}
+/* */
+/* 716 */ public void mainCallback() { if ((Console.getFrame() != null) && (Console.getFrame().isShowing())) {
+/* 717 */ Main.unregister(this);
+/* */ try {
+/* 719 */ TeleportAction.teleport(Gamma.this.startingURL, Gamma.this, true);
+/* */ }
+/* */ catch (Exception localException) {}
+/* */ }
+/* */ }
+/* */ }
+/* */
+/* */
+/* */
+/* */ public void mainCallback()
+/* */ {
+/* 730 */ Main.unregister(this);
+/* */
+/* */
+/* */
+/* */
+/* 735 */ if (NetUpdate.doUpdate(false)) {
+/* 736 */ Main.end();
+/* 737 */ return;
+/* */ }
+/* */
+/* */
+/* 741 */ File bin = new File(earlyURLUnalias("home:bin"));
+/* 742 */ File prg = new File(bin, "gdkup.prg");
+/* 743 */ File exe = new File(bin, "gdkup.exe");
+/* 744 */ if ((prg.exists()) && (
+/* 745 */ (!exe.exists()) || (prg.lastModified() > exe.lastModified()))) {
+/* 746 */ if (exe.exists())
+/* 747 */ exe.delete();
+/* */ try {
+/* 749 */ FileInputStream i = new FileInputStream(prg);
+/* 750 */ FileOutputStream o = new FileOutputStream(exe);
+/* 751 */ byte[] buf = new byte[' '];
+/* */ int len;
+/* 753 */ while ((len = i.read(buf)) > 0) { int len;
+/* 754 */ o.write(buf, 0, len); }
+/* 755 */ i.close();
+/* 756 */ o.close();
+/* */ } catch (Exception e) {
+/* 758 */ e.printStackTrace(System.out);
+/* 759 */ throw new Error("Can't copy gdkup.prg");
+/* */ }
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* 785 */ if (shaperEnabled()) {
+/* 786 */ shaper = new Shaper();
+/* */ }
+/* 788 */ IniFile install = IniFile.override();
+/* 789 */ String splashOver = install.getIniString("splashover",
+/* 790 */ Console.message("Pwc.gif"));
+/* 791 */ int splashXOver = install.getIniInt("splashxover", 141);
+/* 792 */ int splashYOver = install.getIniInt("splashyover", 140);
+/* */
+/* 794 */ if (splashXOver >= 0) {
+/* 795 */ splash.addOverlay(splashOver, splashXOver, splashYOver);
+/* */ }
+/* 797 */ if (loadProgress != null) {
+/* 798 */ loadProgress.setMessage("Teleporting to start location...");
+/* 799 */ loadProgress.advance();
+/* */ }
+/* */
+/* */ try
+/* */ {
+/* 804 */ TeleportAction.teleport(this.startingURL, this, false);
+/* */ } catch (Exception e) {
+/* 806 */ this.loadErr = ("Couldn't teleport to " + this.startingURL + ": " + e);
+/* */ }
+/* */
+/* 809 */ if (this.loadErr != null) {
+/* 810 */ System.out.println(this.loadErr);
+/* 811 */ this.loadErr = null;
+/* 812 */ TeleportAction.teleport("world:", this, false);
+/* 813 */ if (this.loadErr != null) {
+/* 814 */ this.loadErr = null;
+/* 815 */ TeleportAction.teleport("home:NewWorld.world", this, false);
+/* 816 */ if (this.loadErr != null) {
+/* 817 */ Main.end();
+/* 818 */ return;
+/* */ }
+/* */ }
+/* */
+/* */
+/* 823 */ Main.register(new StartupTeleport());
+/* */ }
+/* */
+/* */
+/* 827 */ new MusicManager();
+/* */ }
+/* */
+/* */ public void teleportStatus(String err, String url)
+/* */ {
+/* 832 */ if (err == null) {
+/* 833 */ this.loadErr = null;
+/* */ } else {
+/* 835 */ this.loadErr = err;
+/* */ }
+/* */ }
+/* */ }
+
+
+/* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\console\Gamma.class
+ * Java compiler version: 6 (50.0)
+ * JD-Core Version: 0.7.1
+ */ \ No newline at end of file