/* */ package NET.worlds.console; /* */ /* */ import NET.worlds.core.IniFile; /* */ import NET.worlds.core.Std; /* */ import NET.worlds.network.ConnectionWaiter; /* */ import NET.worlds.network.DNSLookup; /* */ import NET.worlds.network.Galaxy; /* */ import NET.worlds.network.InfiniteWaitException; /* */ import NET.worlds.network.InvalidServerURLException; /* */ import NET.worlds.network.NetworkObject; /* */ import NET.worlds.network.OldPropertyList; /* */ import NET.worlds.network.PacketTooLargeException; /* */ import NET.worlds.network.PropertyList; /* */ import NET.worlds.network.PropertySetCmd; /* */ import NET.worlds.network.VarErrorException; /* */ import NET.worlds.network.WorldServer; /* */ import NET.worlds.network.net2Property; /* */ import NET.worlds.scape.Attribute; /* */ import NET.worlds.scape.BooleanPropertyEditor; /* */ import NET.worlds.scape.Drone; /* */ import NET.worlds.scape.FrameEvent; /* */ import NET.worlds.scape.FrameHandler; /* */ import NET.worlds.scape.HoloDrone; /* */ import NET.worlds.scape.HoloPilot; /* */ import NET.worlds.scape.InventoryManager; /* */ import NET.worlds.scape.LoadedURLSelf; /* */ import NET.worlds.scape.NoSuchPropertyException; /* */ import NET.worlds.scape.Pilot; /* */ import NET.worlds.scape.ProgressiveAdder; /* */ import NET.worlds.scape.PropAdder; /* */ import NET.worlds.scape.Property; /* */ import NET.worlds.scape.Restorer; /* */ import NET.worlds.scape.Room; /* */ import NET.worlds.scape.Saver; /* */ import NET.worlds.scape.Sharer; /* */ import NET.worlds.scape.StringPropertyEditor; /* */ import NET.worlds.scape.SuperRoot; /* */ import NET.worlds.scape.TeleportStatus; /* */ import NET.worlds.scape.TooNewException; /* */ import NET.worlds.scape.URLPropertyEditor; /* */ import NET.worlds.scape.URLSelf; /* */ import NET.worlds.scape.URLSelfLoader; /* */ import NET.worlds.scape.VectorProperty; /* */ import NET.worlds.scape.WObject; /* */ import NET.worlds.scape.WobLoaded; /* */ import NET.worlds.scape.WobLoader; /* */ import NET.worlds.scape.World; /* */ import java.awt.CardLayout; /* */ import java.awt.CheckboxMenuItem; /* */ import java.awt.Container; /* */ import java.awt.Event; /* */ import java.awt.Font; /* */ import java.awt.Menu; /* */ import java.awt.MenuBar; /* */ import java.awt.MenuItem; /* */ import java.awt.MenuShortcut; /* */ import java.awt.Panel; /* */ import java.awt.PopupMenu; /* */ import java.io.File; /* */ import java.io.IOException; /* */ import java.io.PrintStream; /* */ import java.net.HttpURLConnection; /* */ import java.net.MalformedURLException; /* */ import java.net.URLConnection; /* */ import java.text.MessageFormat; /* */ import java.util.Enumeration; /* */ import java.util.Hashtable; /* */ import java.util.Locale; /* */ import java.util.MissingResourceException; /* */ import java.util.ResourceBundle; /* */ import java.util.Vector; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public abstract class Console /* */ extends SuperRoot /* */ implements URLSelf, MainCallback, NetworkObject, WobLoaded, DialogDisabled, ConnectionWaiter /* */ { /* */ private static Vector storedLines; /* */ /* */ public static synchronized void println(String msg) /* */ { /* 269 */ if (active != null) { /* 270 */ active.printLine(msg); /* */ } else { /* 272 */ storedLines.addElement(msg); /* */ } /* */ } /* */ /* */ public static void printWhisper(String from, String msg) /* */ { /* 278 */ if (active != null) { /* 279 */ active.printWhisperFrom(from, msg); /* */ } /* */ } /* */ /* */ /* */ public static void printOwnWhisper(String to, String msg) /* */ { /* 286 */ if (active != null) { /* 287 */ active.printWhisperTo(to, msg); /* */ } /* */ } /* */ /* */ /* */ /* */ public static void startWhispering(String to) /* */ { /* 295 */ if (active != null) { /* 296 */ active.startWhisperingTo(to); /* */ } /* */ } /* */ /* */ public static synchronized String message(String Id) /* */ { /* 302 */ Locale currentLocale = Locale.getDefault(); /* */ try /* */ { /* 305 */ String bundlePrefix = IniFile.override().getIniString( /* 306 */ "BundlePrefix", "MessagesBundle"); /* */ /* 308 */ ResourceBundle messages = ResourceBundle.getBundle(bundlePrefix, /* 309 */ currentLocale); /* */ /* 311 */ String mess = messages.getString(Id); /* */ /* 313 */ if ((mess.indexOf('{') == -1) && (mess.indexOf('}') == -1)) { /* 314 */ mess = Std.replaceStr(mess, "''", "'"); /* */ } /* */ /* 317 */ if ((mess.lastIndexOf(".gif") > 0) || (mess.lastIndexOf(".jpg") > 0) || /* 318 */ (mess.lastIndexOf(".bmp") > 0)) { /* 319 */ File f = new File(mess); /* 320 */ if (!f.exists()) { /* 321 */ return Id; /* */ } /* */ } /* 324 */ return mess; /* */ } /* */ catch (MissingResourceException e) { /* 327 */ if (Galaxy.getDebugLevel() != 0) { /* 328 */ System.out.println("MRE: " + e.getClassName() + " " + /* 329 */ e.getKey()); /* 330 */ System.out.println("NO MESSAGE for " + Id); /* */ } /* */ } /* 333 */ return Id; /* */ } /* */ /* */ /* */ /* */ public static synchronized String parseUnicode(String s) /* */ { /* 340 */ if (s == null) { /* 341 */ return s; /* */ } /* */ int idx; /* 344 */ while ((idx = s.indexOf("\\u")) != -1) { int idx; /* 345 */ if (idx >= s.length() - 5) /* 346 */ return s; /* 347 */ String x = s.substring(idx + 2, idx + 6); /* 348 */ char p = (char)Integer.parseInt(x, 16); /* 349 */ String tmp = s.substring(0, idx) + p + s.substring(idx + 6); /* 350 */ s = tmp; /* */ } /* */ /* 353 */ return s; /* */ } /* */ /* */ public static synchronized Vector parseUnicode(Vector cc) { /* 357 */ for (int i = 0; i < cc.size(); i++) { /* 358 */ String s = (String)cc.elementAt(i); /* */ /* 360 */ String s2 = parseUnicode(s); /* */ /* */ /* 363 */ cc.setElementAt(s2, i); /* */ } /* 365 */ return cc; /* */ } /* */ /* */ /* */ public static synchronized String parseExtended(String s) /* */ { /* 371 */ String uc = ""; /* 372 */ for (int i = 0; i < s.length(); i++) { /* 373 */ char c = s.charAt(i); /* 374 */ if (c > 'ΓΏ') { /* 375 */ int ii = c; /* */ try { /* 377 */ uc = uc + "\\u" + Integer.toHexString(ii); /* */ } catch (NumberFormatException e) { /* 379 */ uc = uc + "?"; /* */ } /* */ } /* */ else { /* 383 */ uc = uc + c; /* */ } } /* 385 */ return uc; /* */ } /* */ /* */ public static boolean wasHttpNoSuchFile(String us) { /* 389 */ java.net.URL u = null; /* 390 */ URLConnection uc = null; /* */ try { /* 392 */ u = DNSLookup.lookup(new java.net.URL(us)); /* 393 */ uc = u.openConnection(); /* */ } catch (Exception ex) { /* 395 */ return true; /* */ } /* */ try { /* 398 */ if (((HttpURLConnection)uc).getResponseCode() == 404) { /* 399 */ return true; /* */ } /* */ } catch (Exception ex) { /* 402 */ return true; /* */ } /* 404 */ return false; /* */ } /* */ /* */ protected void printWhisperFrom(String from, String msg) /* */ { /* 409 */ if (!msg.startsWith("&|+")) { /* 410 */ Object[] arguments = { new String(from), new String(msg) }; /* 411 */ println(MessageFormat.format(message("whispered"), /* 412 */ arguments)); /* */ } /* */ } /* */ /* */ protected void printWhisperTo(String to, String msg) /* */ { /* 418 */ if (!msg.startsWith("&|+")) { /* 419 */ Object[] arguments = { new String(to), new String(msg) }; /* 420 */ println(MessageFormat.format(message("You-whispered"), /* 421 */ arguments)); /* */ } /* */ } /* */ /* */ protected void startWhisperingTo(String to) /* */ { /* 427 */ Object[] arguments = { new String(to) }; /* 428 */ println(MessageFormat.format(message("You-want-whisp"), /* 429 */ arguments)); /* */ } /* */ /* */ /* */ /* */ /* */ public void printLine(String msg) /* */ { /* 437 */ System.out.println(msg); /* */ } /* */ /* 440 */ protected boolean disableShaperAccess = false; /* */ /* */ public boolean isShaperAccessDisabled() { /* 443 */ return this.disableShaperAccess; /* */ } /* */ /* 446 */ protected boolean disableSingleUserAccess = false; /* */ private static Console active; /* */ /* 449 */ public boolean isSingleUserAccessDisabled() { return this.disableSingleUserAccess; } /* */ /* */ /* */ /* */ /* */ /* */ /* */ public static Console getActive() /* */ { /* 458 */ return active; /* */ } /* */ /* */ /* */ /* */ private Panel myCard; /* */ /* */ /* */ private static int nameCounter; /* */ /* */ /* */ private static Font font; /* */ /* */ /* */ private NET.worlds.network.URL targetAv; /* */ /* */ private static String activeTeleportURL; /* */ /* */ private static String lastTeleportURL; /* */ /* */ private static FrameEvent frameEvent; /* */ /* */ private static int freezeFrameEvents; /* */ /* */ public void forPilotOnlyActivate() /* */ { /* 484 */ if (active == this) { /* 485 */ return; /* */ } /* */ /* 488 */ this.myCard = new Panel(); /* 489 */ String myCardName = nameCounter++; /* */ /* 491 */ Container consoleTile = frame.getConsoleTile(); /* 492 */ consoleTile.add(myCardName, this.myCard); /* */ /* */ /* 495 */ Console prev = active; /* 496 */ activate(this.myCard); /* 497 */ ((CardLayout)consoleTile.getLayout()).show(consoleTile, myCardName); /* 498 */ getFrame().validate(); /* */ /* */ /* 501 */ if (prev != null) { /* 502 */ consoleTile.remove(prev.myCard); /* 503 */ prev.myCard.removeAll(); /* */ } /* */ } /* */ /* */ /* */ /* */ protected void setEnableMenu(boolean enable) /* */ { /* 511 */ this.enableMenu = enable; /* 512 */ if (this == active) /* */ { /* */ /* 515 */ enable |= Gamma.shaper != null; /* 516 */ boolean enabled = (frame.getMenuBar() == menuBar) && (menuBar != null); /* 517 */ if (enable != enabled) { /* 518 */ frame.setMenuBar(enable ? menuBar : null); /* */ /* */ /* */ /* 522 */ frame.pack(); /* */ } /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ /* */ private static synchronized void setActive(Console active) /* */ { /* 533 */ active = active; /* */ /* 535 */ int sz = storedLines.size(); /* 536 */ if (sz > 0) { /* 537 */ for (int i = 0; i < sz; i++) { /* 538 */ active.printLine((String)storedLines.elementAt(i)); /* */ } /* 540 */ storedLines.removeAllElements(); /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ protected void activate(Container c) /* */ { /* 553 */ assert (this.pilot != null); /* */ /* 555 */ Console prev = active; /* */ /* */ /* 558 */ if (active != null) { /* 559 */ active.deactivate(); /* */ } /* 561 */ setActive(this); /* */ /* 563 */ Main.register(this); /* */ /* 565 */ this.menus.clear(); /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 593 */ menuBar = new MenuBar(); /* */ /* */ /* 596 */ getMenu("File"); /* */ /* 598 */ if (Gamma.shaper != null) { /* 599 */ Gamma.shaper.activate(this, c, prev); /* */ } /* 601 */ int len = this.parts.size(); /* 602 */ for (int i = 0; i < len; i++) { /* 603 */ ((FramePart)this.parts.elementAt(i)).activate(this, c, prev); /* */ } /* */ /* 606 */ this.exitItem = addMenuItem(message("Exit"), "File"); /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 614 */ if (activeTeleportURL != null) { /* 615 */ teleportNotification("", activeTeleportURL); /* */ } /* 617 */ this.cursor.activate(); /* */ } /* */ /* */ /* */ protected void menuDone() /* */ { /* 623 */ setEnableMenu(this.enableMenu); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ protected void deactivate() /* */ { /* 635 */ if (active != this) { /* 636 */ return; /* */ } /* 638 */ setActive(null); /* */ /* 640 */ Main.unregister(this); /* */ /* 642 */ int len = this.parts.size(); /* 643 */ for (int i = 0; i < len; i++) { /* 644 */ ((FramePart)this.parts.elementAt(i)).deactivate(); /* */ } /* 646 */ if (Gamma.shaper != null) { /* 647 */ Gamma.shaper.deactivate(); /* */ } /* 649 */ this.cursor.deactivate(); /* */ /* 651 */ frame.deactivate(); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public String getActiveTeleportURL() /* */ { /* 663 */ return lastTeleportURL == null ? "" : lastTeleportURL; /* */ } /* */ /* */ /* */ /* */ public static void teleportNotification(String err, String url) /* */ { /* 670 */ if ((err != null) && (err.length() == 0)) { /* 671 */ activeTeleportURL = url; /* 672 */ lastTeleportURL = url.toString(); /* */ } /* */ else { /* 675 */ activeTeleportURL = null; /* */ } /* 677 */ if (active == null) { /* 678 */ return; /* */ } /* 680 */ if ((active instanceof TeleportStatus)) { /* 681 */ ((TeleportStatus)active).teleportStatus(err, url); /* */ } /* 683 */ int len = active.parts.size(); /* 684 */ for (int i = 0; i < len; i++) { /* 685 */ Object fp = active.parts.elementAt(i); /* 686 */ if ((fp instanceof TeleportStatus)) { /* 687 */ ((TeleportStatus)fp).teleportStatus(err, url); /* */ } /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public static void setFreezeFrameEvents(boolean x) /* */ { /* 710 */ if (x) { /* 711 */ freezeFrameEvents += 1; /* */ } else { /* 713 */ freezeFrameEvents -= 1; /* 714 */ assert (freezeFrameEvents >= 0); /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ public void mainCallback() /* */ { /* 725 */ if (frameEvent == null) { /* 726 */ frameEvent = new FrameEvent(null, null); /* */ } /* */ /* 729 */ if (freezeFrameEvents > 0) { /* 730 */ return; /* */ } /* 732 */ frameEvent.newFrameTime(); /* */ /* 734 */ frameEvent.source = this; /* */ /* 736 */ generateFrameEvents(frameEvent); /* */ /* 738 */ frameEvent.target = null; /* 739 */ frameEvent.receiver = null; /* 740 */ frameEvent.source = null; /* */ } /* */ /* 743 */ private String sleepMode = ""; /* */ /* */ /* */ private int lastUserAction; /* */ /* */ /* */ /* */ public void generateFrameEvents(FrameEvent f) /* */ { /* 752 */ World.generateFrameEvents(f); /* */ /* 754 */ int now = Std.getFastTime(); /* 755 */ if (Window.getAndResetUserActionCount() != 0) { /* 756 */ setSleepMode(null); /* 757 */ this.lastUserAction = now; /* */ /* */ } /* 760 */ else if (now > this.lastUserAction + 300000) { /* 761 */ if (this.lastUserAction == 0) { /* 762 */ this.lastUserAction = now; /* */ } else { /* 764 */ goToSleep(); /* */ } /* */ } /* */ /* 768 */ int len = this.parts.size(); /* 769 */ if (Main.profile != 0) { /* 770 */ for (int i = 0; i < len; i++) { /* 771 */ FramePart fp = (FramePart)this.parts.elementAt(i); /* 772 */ int start = Std.getRealTime(); /* 773 */ long startBytes = Runtime.getRuntime().freeMemory(); /* 774 */ fp.handle(f); /* 775 */ int dur = Std.getRealTime() - start; /* 776 */ long used = startBytes - Runtime.getRuntime().freeMemory(); /* 777 */ if (dur > Main.profile) /* 778 */ System.out.println("Took " + dur + "ms and " + used + /* 779 */ " bytes to call framePart " + fp); /* */ } /* */ } else { /* 782 */ for (int i = 0; i < len; i++) /* 783 */ ((FramePart)this.parts.elementAt(i)).handle(f); /* */ } /* 785 */ ProgressiveAdder.get().handle(f); /* */ /* 787 */ if ((this instanceof FrameHandler)) { /* 788 */ ((FrameHandler)this).handle(f); /* */ } /* */ /* */ /* 792 */ if (this.pilot != null) { /* 793 */ this.pilot.generateFrameEvents(f); /* */ } /* */ } /* */ /* */ /* */ /* */ /* 800 */ private Vector parts = new Vector(); /* */ /* */ private static MenuBar menuBar; /* */ /* */ public void addPart(FramePart p) /* */ { /* 806 */ this.parts.addElement(p); /* */ } /* */ /* */ public Enumeration getParts() { /* 810 */ return this.parts.elements(); /* */ } /* */ /* */ /* */ /* */ public boolean action(Event event, Object what) /* */ { /* 817 */ if (event.target == this.exitItem) { /* 818 */ return maybeQuit(); /* */ } /* 820 */ if ((Gamma.shaper != null) && (Gamma.shaper.action(event, what))) { /* 821 */ return true; /* */ } /* 823 */ int len = this.parts.size(); /* 824 */ for (int i = 0; i < len; i++) { /* 825 */ if (((FramePart)this.parts.elementAt(i)).action(event, what)) /* 826 */ return true; /* */ } /* 828 */ return false; /* */ } /* */ /* */ /* */ /* */ public boolean handleEvent(Event e) /* */ { /* 835 */ if (e.id == 201) /* 836 */ return maybeQuit(); /* 837 */ return false; /* */ } /* */ /* */ /* */ /* */ /* */ public boolean okToQuit() /* */ { /* 845 */ return true; /* */ } /* */ /* */ /* */ /* */ /* */ public static void quit() /* */ { /* 853 */ if (Gamma.getShaper() != null) { /* 854 */ Gamma.getShaper().maybeQuit(); /* */ } else { /* 856 */ GammaFrameState.saveBorder(); /* 857 */ Main.end(); /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ /* */ public static boolean maybeQuit() /* */ { /* 867 */ Console c = getActive(); /* 868 */ if ((c == null) || (c.okToQuit())) /* 869 */ quit(); /* 870 */ return true; /* */ } /* */ /* */ /* */ /* */ public static MenuBar getMenuBar() /* */ { /* 877 */ return menuBar; /* */ } /* */ /* 880 */ protected boolean enableMenu = false; /* */ /* */ protected MenuItem exitItem; /* */ /* 884 */ private Hashtable menus = new Hashtable(); /* */ protected static boolean autoFullVIP; /* */ protected static boolean isRedLightWorld; /* */ protected static int vip; /* */ protected static int spguest; /* */ /* 890 */ public Menu getMenu(String name) { Menu menu = (Menu)this.menus.get(name); /* 891 */ if (menu == null) { /* 892 */ if ((name.equals("Help")) || (name.equals("Options")) || /* 893 */ (name.equals("VIP"))) { /* 894 */ menu = new PopupMenu(); /* */ } else { /* 896 */ menu = new Menu(name); /* 897 */ menuBar.add(menu); /* */ } /* 899 */ this.menus.put(name, menu); /* */ } /* */ /* 902 */ return menu; /* */ } /* */ /* */ public void addMenuItem(MenuItem item, String menuName) { /* 906 */ getMenu(menuName).add(item); /* 907 */ item.setFont(font); /* */ } /* */ /* */ public MenuItem addMenuItem(String itemName, String menuName) { /* 911 */ MenuItem item = new MenuItem(itemName); /* */ /* 913 */ getMenu(menuName).add(item); /* 914 */ item.setFont(font); /* 915 */ return item; /* */ } /* */ /* */ public MenuItem addMenuItem(String itemName, String menuName, int keyCode, boolean shiftKey) /* */ { /* 920 */ MenuItem item = new MenuItem(itemName); /* 921 */ MenuShortcut shortcut = new MenuShortcut(keyCode, shiftKey); /* */ /* 923 */ item.setShortcut(shortcut); /* 924 */ getMenu(menuName).add(item); /* 925 */ item.setFont(font); /* */ /* 927 */ return item; /* */ } /* */ /* */ public CheckboxMenuItem addMenuCheckbox(String itemName, String menuName) { /* 931 */ CheckboxMenuItem item = new CheckboxMenuItem(itemName); /* */ /* 933 */ getMenu(menuName).add(item); /* 934 */ item.setFont(font); /* */ /* 936 */ return item; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public void dialogDisable(boolean disable) /* */ { /* 952 */ int len = this.parts.size(); /* 953 */ for (int i = 0; i < len; i++) { /* 954 */ FramePart part = (FramePart)this.parts.elementAt(i); /* 955 */ if ((part instanceof DialogDisabled)) { /* 956 */ ((DialogDisabled)part).dialogDisable(disable); /* */ } /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public static String encode(String password) /* */ { /* 988 */ String coded = ""; /* 989 */ if (password != null) { /* 990 */ char[] cryptChars = encrypt(password).toCharArray(); /* 991 */ for (int i = 0; i < cryptChars.length; i++) { /* 992 */ String hex = Integer.toHexString(cryptChars[i]); /* 993 */ if (hex.length() == 1) /* 994 */ hex = "0" + hex; /* 995 */ coded = coded + hex; /* */ } /* */ } /* 998 */ return coded; /* */ } /* */ /* */ public static String decode(String password) { /* */ try { /* 1003 */ int length = password.length(); /* 1004 */ if ((length != 0) && ((length & 0x1) == 0)) { /* 1005 */ char[] cryptChars = new char[length / 2]; /* 1006 */ int j = 0; /* 1007 */ for (int i = 0; i < cryptChars.length; j += 2) { /* 1008 */ cryptChars[i] = ((char)Integer.parseInt( /* 1009 */ password.substring(j, j + 2), 16));i++; /* */ } /* 1010 */ String ret = decrypt(new String(cryptChars)); /* 1011 */ if ((ret != null) && (ret.length() != 0)) { /* 1012 */ return ret; /* */ } /* */ } /* */ } catch (NumberFormatException localNumberFormatException) {} /* 1016 */ return null; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public boolean getVIPAvatars() /* */ { /* 1037 */ return (vip > 0) || (isRedLightWorld); /* */ } /* */ /* */ public boolean getVIP() { /* 1041 */ return vip > 0; /* */ } /* */ /* */ public void setVIP(boolean vip) { /* 1045 */ vip = vip ? 1 : 0; /* 1046 */ checkCourtesyVIP(); /* 1047 */ IniFile.gamma().setIniInt("VIP", vip); /* 1048 */ if ((autoFullVIP) && (vip)) /* 1049 */ vip = 2; /* */ } /* */ /* */ public boolean getFullVIP() { /* 1053 */ return vip == 2; /* */ } /* */ /* */ public void setFullVIP(boolean fullVIP) { /* 1057 */ if (fullVIP) /* 1058 */ vip = 2; /* 1059 */ IniFile.gamma().setIniInt("VIP", vip); /* */ } /* */ /* */ /* */ /* */ public boolean getSpecialGuest() /* */ { /* 1066 */ return spguest > 0; /* */ } /* */ /* */ public void setSpecialGuest(boolean spguest) { /* 1070 */ if (spguest > 1 != spguest) { /* 1071 */ spguest = spguest ? 1 : 0; /* */ /* 1073 */ IniFile.gamma().setIniInt("SPGUEST", spguest); /* 1074 */ spguest += spguest; /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ public void checkCourtesyVIP() /* */ { /* 1083 */ int oldVIP = vip; /* */ /* */ /* 1086 */ if (vip < 1) { /* 1087 */ World w = getPilot().getWorld(); /* */ /* 1089 */ vip = (w != null) && (w.isHomeWorld()) && (w.getCourtesyVIP()) ? 1 : 0; /* */ } /* */ /* 1092 */ if (vip != oldVIP) { /* 1093 */ if (vip == 1) { /* 1094 */ println(message("You-VIP")); /* */ } else { /* 1096 */ println(message("You-no-VIP")); /* */ } /* */ } /* 1099 */ NET.worlds.network.URL av = getDefaultAvatarURL(); /* */ /* 1101 */ if (!av.equals(getAvatarName())) /* 1102 */ setAvatar(av); /* */ } /* */ /* 1105 */ private boolean canBroadcast = false; /* */ protected NET.worlds.network.URL lastPilotRequested; /* */ /* 1108 */ public boolean broadcastEnabled() { return this.canBroadcast; } /* */ /* */ public void enableBroadcast(boolean enabled) /* */ { /* 1112 */ this.canBroadcast = enabled; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public void serverStatus(WorldServer serv, VarErrorException ve) /* */ { /* 1124 */ System.out.println("status-- " + serv + ": " + ve.getMsg()); /* */ } /* */ /* */ /* */ /* */ public void property(OldPropertyList propList) /* */ { /* 1131 */ if (!$assertionsDisabled) { throw new AssertionError(); /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public void propertyUpdate(PropertyList propList) /* */ { /* 1146 */ if (!$assertionsDisabled) { throw new AssertionError(); /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public WorldServer getServer() /* */ { /* 1159 */ NET.worlds.network.URL url = getGalaxyURL(); /* */ /* 1161 */ if ((url == null) || (this.galaxy == null)) { /* 1162 */ return null; /* */ } /* */ try /* */ { /* 1166 */ return getGalaxy().getServer(url); /* */ } catch (InvalidServerURLException e) { /* 1168 */ println(">>" + e.getMessage()); } /* 1169 */ return null; /* */ } /* */ /* */ public WorldServer getServerNew() /* */ { /* 1174 */ NET.worlds.network.URL url = getGalaxyURL(); /* */ /* 1176 */ if ((url == null) || (this.galaxy == null)) { /* 1177 */ return null; /* */ } /* */ try /* */ { /* 1181 */ return getGalaxy().getServer(url); /* */ } catch (InvalidServerURLException e) { /* 1183 */ println(">>" + e.getMessage()); } /* 1184 */ return null; /* */ } /* */ /* */ public String getLongID() /* */ { /* 1189 */ return this.galaxy.getChatname(); /* */ } /* */ /* */ /* */ /* */ /* */ public void galaxyDisconnected() /* */ { /* 1197 */ setChatname(""); /* */ /* 1199 */ this.galaxy.waitForConnection(this); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ public void changeChannel(Galaxy g, String oldChannel, String newChannel) /* */ { /* 1209 */ this.pilot.changeChannel(g, oldChannel, newChannel); /* */ } /* */ /* */ protected void handleVAR_BITMAP(String s) /* */ { /* 1214 */ if (s.charAt(0) == 0) { /* 1215 */ s = s.substring(2); /* */ } /* */ try /* */ { /* 1219 */ loadPilot(new NET.worlds.network.URL(NET.worlds.network.URL.getAvatar(), s)); /* */ } catch (MalformedURLException e) { /* 1221 */ loadPilot(NET.worlds.network.URL.make("error:\"" + s + '"')); /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 1235 */ public String pendingPilot = ""; /* */ /* 1237 */ protected boolean setFromMenu = false; /* */ /* */ /* */ /* */ /* */ /* */ /* 1244 */ private String postFix = ""; /* */ /* */ public static boolean selfCustom; /* */ /* */ protected void loadPilot(NET.worlds.network.URL url) /* */ { /* 1250 */ if (url.equals(this.lastPilotRequested)) { /* 1251 */ return; /* */ } /* */ /* 1254 */ this.lastPilotRequested = url; /* 1255 */ this.pendingPilot = url.toString(); /* 1256 */ Pilot.load(url, this); /* 1257 */ this.setFromMenu = false; /* */ } /* */ /* */ /* */ /* */ /* */ /* 1264 */ protected Vector callbacks = new Vector(); /* */ /* */ /* */ /* */ /* */ public void wobLoaded(WobLoader loader, SuperRoot w) /* */ { /* 1271 */ String err = null; /* 1272 */ if (w == null) { /* 1273 */ err = message("no-load-pilot"); /* 1274 */ println(err + " " + loader.getWobName()); /* 1275 */ } else if (!(w instanceof Pilot)) { /* 1276 */ err = message("not-pilot"); /* 1277 */ println(loader.getWobName().toString() + " " + err); /* */ } else { /* */ try { /* 1280 */ setPilot((Pilot)w); /* */ } catch (IllegalPilotException e) { /* 1282 */ err = e.getMessage(); /* */ } /* */ } /* */ /* */ /* 1287 */ if ((this.pilot == null) && (err != null) && (!this.disableSingleUserAccess)) { /* 1288 */ useDefaultPilot(); /* 1289 */ err = null; /* */ } /* */ /* 1292 */ int end = this.callbacks.size(); /* 1293 */ for (int i = 0; i < end; i++) { /* 1294 */ LoadedURLSelf callback = (LoadedURLSelf)this.callbacks.elementAt(i); /* 1295 */ if (err == null) { /* 1296 */ callback.loadedURLSelf(this, getSourceURL(), null); /* */ } else { /* 1298 */ decRef(); /* 1299 */ callback.loadedURLSelf(null, getSourceURL(), err); /* */ } /* */ } /* 1302 */ this.callbacks.removeAllElements(); /* */ } /* */ /* */ public static NET.worlds.network.URL getDefaultURL() /* */ { /* 1307 */ String defaultAvatar = IniFile.override().getIniString("DefaultAvatar", /* 1308 */ "avatar:pengo.mov"); /* 1309 */ return NET.worlds.network.URL.make(defaultAvatar); /* */ } /* */ /* */ protected void useDefaultPilot() /* */ { /* */ try { /* 1315 */ setPilot(new HoloPilot(getDefaultURL())); /* */ } /* */ catch (IllegalPilotException e) /* */ { /* 1319 */ if (!$assertionsDisabled) { throw new AssertionError(); /* */ } /* */ } /* */ } /* */ /* */ public void connectionCallback(Object caller, boolean connected) /* */ { /* 1326 */ if ((caller instanceof Galaxy)) { /* 1327 */ if (caller != this.galaxy) /* 1328 */ return; /* 1329 */ if (!connected) { /* 1330 */ return; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* 1338 */ setAvatar(this.lastPilotRequested); /* */ /* 1340 */ displayAds(); /* */ } /* */ } /* */ /* */ /* */ public void displayAds() /* */ { /* 1347 */ Pilot p = Pilot.getActive(); /* 1348 */ if (p != null) { /* 1349 */ World w = p.getWorld(); /* 1350 */ if (w != null) { /* 1351 */ w.setupAdBanner(); /* */ } /* */ } /* */ } /* */ /* */ /* 1357 */ private String defaultAction = ""; /* */ /* */ public void setDefaultAction(String newda) { /* 1360 */ this.defaultAction = newda; /* */ } /* */ /* */ public String getDefaultAction() { /* 1364 */ return this.defaultAction; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 1373 */ protected String tempCarAvatar = ""; /* */ protected static String defaultConsole; /* */ private static Hashtable defConsoles; /* */ private static Console defaultUnshared; /* */ /* */ public NET.worlds.network.URL getDefaultAvatarURL() /* */ { /* 1380 */ String defAv = getDefaultURL().toString(); /* 1381 */ String av = IniFile.gamma().getIniString("AVATAR", defAv); /* 1382 */ String vav = IniFile.gamma().getIniString("VIPAVATAR", ""); /* 1383 */ boolean isVIPAv = av.toLowerCase().endsWith(".rwg"); /* 1384 */ if (vav.equals("")) { /* 1385 */ vav = av; /* 1386 */ if (isVIPAv) { /* 1387 */ IniFile.gamma().setIniString("VIPAVATAR", vav); /* */ } /* */ } /* 1390 */ if (this.tempCarAvatar != "") { /* 1391 */ av = this.tempCarAvatar; /* 1392 */ } else if (getVIPAvatars()) /* */ { /* */ /* */ /* 1396 */ av = vav; /* 1397 */ } else if (isVIPAv) { /* 1398 */ av = defAv; /* */ } /* 1400 */ return NET.worlds.network.URL.make(av); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ public Console() /* */ { /* 1409 */ add(this.cursor); /* 1410 */ this.galaxy = Galaxy.getAnonGalaxy(); /* 1411 */ regWithGalaxy(); /* 1412 */ setServerURL(null); /* */ } /* */ /* */ /* */ /* */ /* */ public Console(NET.worlds.network.URL serverURL) /* */ { /* 1420 */ add(this.cursor); /* 1421 */ this.galaxy = Galaxy.getAnonGalaxy(); /* 1422 */ regWithGalaxy(); /* 1423 */ setServerURL(serverURL); /* 1424 */ templateInit(); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ public void loadInit() /* */ { /* 1433 */ templateInit(); /* 1434 */ add(this.cursor); /* */ } /* */ /* */ public void addCursor(Cursor c) { /* 1438 */ add(c); /* */ } /* */ /* */ private void templateInit() { /* 1442 */ this.pilotSoulTemplate = new HoloPilot(); /* 1443 */ this.droneSoulTemplate = new HoloDrone(); /* */ /* 1445 */ add(this.pilotSoulTemplate); /* 1446 */ add(this.droneSoulTemplate); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public static void load(NET.worlds.network.URL url, LoadedURLSelf callback) /* */ { /* 1469 */ if ((url != null) && (url.endsWith(".console"))) { /* 1470 */ new ConsoleLoader(url, callback); /* */ } else { Console c; /* */ Console c; /* 1473 */ if (url == null) { /* 1474 */ c = defaultUnshared; /* */ } else { /* 1476 */ c = (Console)defConsoles.get(url); /* */ } /* 1478 */ if ((c != null) && (c.galaxy == null)) /* */ { /* 1480 */ if (c.getGalaxyURL() == null) { /* 1481 */ c.galaxy = Galaxy.getAnonGalaxy(); /* */ } else { /* */ try { /* 1484 */ c.galaxy = Galaxy.getGalaxy(c.getGalaxyURL()); /* */ } /* */ catch (InvalidServerURLException e) { /* 1487 */ System.out.println("Illegal ServerURL = " + /* 1488 */ c.getGalaxyURL()); /* */ /* 1490 */ c.galaxy = Galaxy.getAnonGalaxy(); /* */ /* 1492 */ c.setServerURL(null); /* */ } /* */ } /* 1495 */ c.regWithGalaxy(); /* 1496 */ c.regPilot(); /* */ } /* 1498 */ assert ((c == null) || (c.galaxy != null)); /* */ /* 1500 */ if (c == null) { /* */ try { /* 1502 */ Class cl = Class.forName(defaultConsole); /* 1503 */ c = (Console)cl.newInstance(); /* */ } catch (Exception e) { /* 1505 */ System.out.println("Can't use class " + defaultConsole + /* 1506 */ ", using DefaultConsole instead."); /* 1507 */ e.printStackTrace(System.out); /* 1508 */ c = new DefaultConsole(); /* */ } /* 1510 */ assert (c != null); /* 1511 */ if (c.galaxy == null) /* */ { /* */ /* 1514 */ c.galaxy = Galaxy.getAnonGalaxy(); /* 1515 */ c.regWithGalaxy(); /* 1516 */ c.regPilot(); /* */ } /* 1518 */ assert (c.galaxy != null); /* 1519 */ c.loadInit(); /* */ /* 1521 */ c.setServerURL(url); /* */ /* 1523 */ if (url == null) { /* 1524 */ c.setName("unshared"); /* 1525 */ defaultUnshared = c; /* */ } else { /* 1527 */ defConsoles.put(c.getGalaxyURL(), c); /* */ } /* */ } /* 1530 */ c.incRef(); /* 1531 */ c.initPilot(url, callback); /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ protected void initPilot(NET.worlds.network.URL pilotURL, LoadedURLSelf callback) /* */ { /* 1549 */ loadPilot(getDefaultAvatarURL()); /* */ /* */ /* */ /* 1553 */ if (this.pilot == null) { /* 1554 */ useDefaultPilot(); /* */ } /* 1556 */ callback.loadedURLSelf(this, pilotURL, null); /* */ } /* */ /* */ /* */ /* 1561 */ private int refcnt = 0; /* */ protected Pilot pilotSoulTemplate; /* */ /* 1564 */ public void incRef() { this.refcnt += 1; } /* */ /* */ /* */ protected Drone droneSoulTemplate; /* */ /* */ protected Pilot pilot; /* */ public void decRef() /* */ { /* 1572 */ if (--this.refcnt == 0) /* */ { /* */ /* 1575 */ if (this.galaxy != null) { /* 1576 */ unregWithGalaxy(); /* 1577 */ unregPilot(); /* */ /* */ /* 1580 */ this.galaxy.decWorldCount(); /* */ /* 1582 */ Galaxy oldGalaxy = this.galaxy; /* 1583 */ this.galaxy = null; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 1594 */ this.pilot = null; /* */ /* 1596 */ NET.worlds.network.URL url = getSourceURL(); /* 1597 */ if (url != null) /* 1598 */ if (url.endsWith(".console")) { /* 1599 */ URLSelfLoader.unload(this); /* */ } else /* 1601 */ defConsoles.remove(url); /* */ } /* */ } /* */ /* */ public String toString() { /* 1606 */ return super.toString() + "[" + getSourceURL() + "]"; /* */ } /* */ /* */ /* */ /* */ public Pilot getPilotSoulTemplate() /* */ { /* 1613 */ return this.pilotSoulTemplate; /* */ } /* */ /* */ public Drone getDroneSoulTemplate() { /* 1617 */ return this.droneSoulTemplate; /* */ } /* */ /* */ /* */ /* */ public Pilot getPilot() /* */ { /* 1624 */ return this.pilot; /* */ } /* */ /* */ /* 1628 */ public boolean targetValid = false; /* */ /* */ /* */ /* */ /* */ /* */ /* */ public boolean isValidAv() /* */ { /* 1637 */ if (this.targetAv == null) { /* 1638 */ return false; /* */ } /* 1640 */ if (!InventoryManager.getInventoryManager().inventoryInitialized()) { /* 1641 */ return true; /* */ } /* 1643 */ String av = this.targetAv.getAbsolute(); /* 1644 */ int len = av.length(); /* 1645 */ for (int i = 1; i < len; i++) { /* 1646 */ if (av.charAt(i - 1) == '_') { /* 1647 */ char firstChar = av.charAt(i); /* */ /* 1649 */ if (Character.isLowerCase(firstChar)) /* */ { /* 1651 */ StringBuffer item = new StringBuffer(); /* 1652 */ item.append(Character.toUpperCase(firstChar)); /* */ do /* */ { /* 1655 */ char c = av.charAt(i); /* */ /* 1657 */ if (!Character.isLowerCase(c)) /* */ break; /* 1659 */ item.append(c);i++; /* 1654 */ } while (i < len); /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 1664 */ if (InventoryManager.getInventoryManager().checkInventoryFor(item.toString()) <= 0) { /* 1665 */ return false; /* */ } /* */ } /* */ } /* */ } /* 1670 */ return true; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ public void resetAvatar() /* */ { /* 1679 */ setAvatar(this.targetAv); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public void setAvatar(NET.worlds.network.URL url) /* */ { /* 1693 */ if (url == null) { /* 1694 */ return; /* */ } /* */ /* */ /* 1698 */ BlackBox.getInstance().submitEvent( /* 1699 */ new BBDroneBitmapCommand("@Pilot", url.toString())); /* */ /* 1701 */ this.targetAv = url; /* 1702 */ this.targetValid = true; /* */ /* */ /* */ /* 1706 */ if (url.getAbsolute().length() > 220) { /* 1707 */ println(message("av-too-complex")); /* 1708 */ url = NET.worlds.network.URL.make("avatar:holden.mov"); /* 1709 */ this.targetValid = false; /* 1710 */ } else if (!isValidAv()) { /* 1711 */ println(message("av-has-inventory")); /* 1712 */ url = NET.worlds.network.URL.make("avatar:holden.mov"); /* 1713 */ this.targetValid = false; /* */ } /* */ /* */ /* */ /* 1718 */ loadPilot(url); /* */ /* 1720 */ WorldServer serv = getServerNew(); /* 1721 */ if (serv == null) { /* 1722 */ return; /* */ } /* */ /* */ /* */ /* */ /* */ /* 1729 */ assert (serv.getVersion() >= 18); /* */ /* 1731 */ PropertyList propList = new PropertyList(); /* */ /* */ /* */ /* 1735 */ propList.addProperty(new net2Property(5, /* 1736 */ 64, 1, url /* 1737 */ .getAbsolute())); /* */ try /* */ { /* 1740 */ serv.sendNetworkMsg(new PropertySetCmd(propList)); /* */ /* */ /* */ } /* */ catch (PacketTooLargeException e) /* */ { /* */ /* 1747 */ assert (url.getAbsolute().length() < 220); /* 1748 */ if (!$assertionsDisabled) throw new AssertionError(); /* */ } /* */ catch (InfiniteWaitException localInfiniteWaitException) {} /* */ } /* */ /* */ public static void wake() { /* 1754 */ if (active != null) /* 1755 */ active.setSleepMode(null); /* */ } /* */ /* 1758 */ private String sleepStr = message("asleep"); /* */ protected static GammaFrame frame; /* */ /* 1761 */ public void goToSleep() { setSleepMode(this.sleepStr); /* */ /* */ /* 1764 */ Window.getAndResetUserActionCount(); /* */ } /* */ /* */ public boolean isSleeping() { /* 1768 */ return !this.sleepMode.equals(""); /* */ } /* */ /* */ protected void setSleepMode(String mode) /* */ { /* 1773 */ if (mode == null) { /* 1774 */ mode = ""; /* 1775 */ this.lastUserAction = Std.getFastTime(); /* */ } /* */ /* 1778 */ if (this.pilot != null) { /* 1779 */ this.pilot.setSleepMode(mode); /* */ } /* 1781 */ if (mode.equals(this.sleepMode)) { /* 1782 */ return; /* */ } /* 1784 */ WorldServer serv = getServerNew(); /* 1785 */ if (serv == null) { /* 1786 */ return; /* */ } /* */ /* 1789 */ PropertyList propList = new PropertyList(); /* 1790 */ propList.addProperty(new net2Property(23, /* 1791 */ 64, 1, mode)); /* */ try { /* 1793 */ serv.sendNetworkMsg(new PropertySetCmd(propList)); /* */ } catch (PacketTooLargeException e) { /* 1795 */ if (!$assertionsDisabled) { throw new AssertionError(); /* */ } /* */ } /* */ catch (InfiniteWaitException localInfiniteWaitException) {} /* 1799 */ this.sleepMode = mode; /* */ } /* */ /* */ /* */ /* */ /* */ public void setPilot(Pilot a) /* */ throws IllegalPilotException /* */ { /* 1808 */ assert (a != null); /* */ /* 1810 */ Room prevRoom = null; /* */ /* */ /* 1813 */ if (this.pilot != null) { /* 1814 */ prevRoom = this.pilot.getRoom(); /* 1815 */ unregPilot(); /* */ } /* */ /* */ /* 1819 */ this.pilot = a; /* 1820 */ this.pilot.getSharer().createDynamicFromNet(); /* 1821 */ this.pilot.setConsole(this); /* 1822 */ regPilot(); /* */ /* */ /* */ /* 1826 */ if (active == this) { /* 1827 */ Pilot.changeActiveRoom(prevRoom); /* */ } /* 1829 */ this.pilot.setSleepMode(this.sleepMode); /* */ /* */ /* 1832 */ if ((this instanceof DefaultConsole)) { /* 1833 */ ((DefaultConsole)this).resetCamera(); /* */ } /* */ } /* */ /* */ static /* */ { /* 275 */ storedLines = new Vector(); /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 467 */ font = new Font(message("MenuFont"), /* 468 */ 0, 12); /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 701 */ freezeFrameEvents = 0; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 873 */ menuBar = new MenuBar(); /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 1024 */ autoFullVIP = IniFile.override().getIniInt( /* 1025 */ "tieredVIP", 0) == 0; /* */ /* */ /* 1028 */ if (!IniFile.override().getIniString("ProductName", "").equalsIgnoreCase("RedLightWorld")) {} /* 1027 */ isRedLightWorld = /* */ /* */ /* 1030 */ IniFile.override().getIniString("ProductName", "").equalsIgnoreCase("RedLightCenter"); /* */ /* 1032 */ vip = IniFile.gamma().getIniInt("VIP", 0) != 0 ? /* 1033 */ 1 : autoFullVIP ? 2 : /* 1034 */ 0; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 1062 */ spguest = IniFile.gamma().getIniInt("SPGUEST", 0) != 0 ? 2 : /* 1063 */ 0; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 1246 */ selfCustom = false; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 1403 */ defaultConsole = IniFile.gamma().getIniString( /* 1404 */ "DEFAULTCONSOLE", "NET.worlds.console.DefaultConsole"); /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 1449 */ defConsoles = new Hashtable(); /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* 1837 */ frame = new GammaFrame(); /* */ /* */ /* 1840 */ WhisperManager.whisperManager().setParent(frame); /* */ } /* */ /* */ public static GammaFrame getFrame() { /* 1844 */ return frame; /* */ } /* */ /* 1847 */ protected Galaxy galaxy = null; /* */ protected NET.worlds.network.URL _galaxyURL; /* */ /* 1850 */ public Galaxy getGalaxy() { assert (this.galaxy != null); /* */ /* 1852 */ return this.galaxy; /* */ } /* */ /* */ /* */ public NET.worlds.network.URL getGalaxyURL() /* */ { /* 1858 */ return this._galaxyURL; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public void setServerURL(NET.worlds.network.URL serverURL) /* */ { /* */ try /* */ { /* 1881 */ if (serverURL != null) { /* 1882 */ this._galaxyURL = NET.worlds.network.URL.make("worldserver://" + /* 1883 */ getServerHost(serverURL) + "/"); /* */ } /* */ } /* */ catch (InvalidServerURLException e) { /* 1887 */ println(">>" + e.getMessage()); /* */ /* */ /* */ /* 1891 */ if (!$assertionsDisabled) { throw new AssertionError(); /* */ } /* */ /* 1894 */ this._galaxyURL = null; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* 1902 */ Galaxy oldGalaxy = this.galaxy; /* */ /* 1904 */ unregWithGalaxy(); /* 1905 */ unregPilot(); /* */ /* */ /* */ /* 1909 */ if (this._galaxyURL != null) { /* */ try { /* 1911 */ this.galaxy = Galaxy.getGalaxy(this._galaxyURL); /* */ } /* */ catch (InvalidServerURLException e) { /* 1914 */ println(">>" + e.getMessage()); /* */ /* */ /* 1917 */ this.galaxy = Galaxy.getAnonGalaxy(); /* */ } /* */ } else { /* 1920 */ this.galaxy = Galaxy.getAnonGalaxy(); /* */ } /* 1922 */ assert (this.galaxy != null); /* 1923 */ regWithGalaxy(); /* 1924 */ regPilot(); /* */ /* */ /* 1927 */ if (oldGalaxy != null) { /* 1928 */ oldGalaxy.decWorldCount(); /* */ /* */ /* */ /* */ /* */ /* 1934 */ if (oldGalaxy != this.galaxy) { /* 1935 */ oldGalaxy.forceObjectRereg(); /* */ } /* */ } /* */ } /* */ /* */ /* */ /* */ private void regWithGalaxy() /* */ { /* 1944 */ assert (this.galaxy != null); /* 1945 */ this.galaxy.addConsole(this); /* 1946 */ this.galaxy.waitForConnection(this); /* */ } /* */ /* */ private void unregWithGalaxy() { /* 1950 */ assert (this.galaxy != null); /* 1951 */ this.galaxy.delConsole(this); /* */ } /* */ /* */ /* */ /* */ protected void regPilot() /* */ { /* 1958 */ if (this.pilot != null) { /* 1959 */ this.pilot.getSharer().adjustShare(); /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public static String getServerHost(NET.worlds.network.URL url) /* */ throws InvalidServerURLException /* */ { /* 1976 */ String s = url.unalias(); /* 1977 */ int len = s.length(); /* 1978 */ if ((len > 14) && (s.startsWith("worldserver://"))) /* */ { /* 1980 */ if (s.charAt(len - 1) == '/') { /* 1981 */ len--; /* */ } /* 1983 */ s = s.substring(14, len); /* */ /* */ /* 1986 */ if (s.equals("209.67.68.214:6650")) { /* 1987 */ s = "www.3dcd.com:6650"; /* */ } /* 1989 */ return s; /* */ } /* */ /* 1992 */ throw new InvalidServerURLException("Bad worldserver:// URL format"); /* */ } /* */ /* */ /* */ public static NET.worlds.network.URL makeServerURL(String host) /* */ { /* 1998 */ assert ((host != null) && (host.length() > 0)); /* 1999 */ return NET.worlds.network.URL.make("worldserver://" + host + "/"); /* */ } /* */ /* */ /* */ /* */ protected void unregPilot() /* */ { /* 2006 */ if (this.pilot != null) /* 2007 */ this.pilot.getSharer().adjustShare(); /* */ } /* */ /* 2010 */ private Cursor cursor = new Cursor(NET.worlds.network.URL.make("system:WAIT_CURSOR")); /* */ /* */ public Cursor getCursor() /* */ { /* 2014 */ return this.cursor; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ public String getScriptServer() /* */ { /* 2023 */ String Fred = "Fred"; /* 2024 */ String override = IniFile.override().getIniString("ScriptServer", Fred); /* 2025 */ if (!override.equals(Fred)) { /* 2026 */ return new String(override); /* */ } /* 2028 */ WorldServer server = getServerNew(); /* 2029 */ if (server != null) { /* 2030 */ String sname = server.getScriptServer(); /* 2031 */ if (sname != null) /* 2032 */ return new String(sname); /* */ } /* 2034 */ return new String("http://www-dynamic.us.worlds.net/cgi-bin/"); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ public String getSmtpServer() /* */ { /* 2043 */ WorldServer server = getServerNew(); /* 2044 */ if (server != null) { /* 2045 */ String sname = server.getSmtpServer(); /* 2046 */ if (sname != null) /* 2047 */ return sname; /* */ } /* 2049 */ return "www.3dcd.com:25"; /* */ } /* */ /* */ public String getMailDomain() /* */ { /* 2054 */ WorldServer server = getServerNew(); /* 2055 */ if (server != null) { /* 2056 */ String dname = server.getMailDomain(); /* 2057 */ if (dname != null) /* 2058 */ return dname; /* */ } /* 2060 */ return "3dcd.com"; /* */ } /* */ /* */ public Object properties(int index, int offset, int mode, Object value) /* */ throws NoSuchPropertyException /* */ { /* 2066 */ Object ret = null; /* */ /* 2068 */ switch (index - offset) { /* */ case 0: /* 2070 */ if (mode == 0) { /* 2071 */ ret = URLPropertyEditor.make(new Property(this, index, /* 2072 */ "Server URL").allowSetNull(), null); /* 2073 */ } else if (mode == 1) { /* 2074 */ ret = getGalaxyURL(); /* 2075 */ } else if (mode == 2) /* 2076 */ if (value == null) { /* 2077 */ setServerURL(null); /* */ /* */ /* */ /* */ } /* */ else /* */ { /* */ /* */ /* */ /* 2087 */ NET.worlds.network.URL u = (NET.worlds.network.URL)value; /* 2088 */ if ((u == null) || (u.unalias().startsWith("worldserver:"))) { /* 2089 */ setServerURL(u); /* */ } else /* 2091 */ println(message("server-URL")); /* */ } /* 2093 */ break; /* */ /* */ case 1: /* 2096 */ if (mode == 0) { /* 2097 */ ret = BooleanPropertyEditor.make(new Property(this, index, /* 2098 */ "Enable Menu Bar"), "No", "Yes"); /* 2099 */ } else if (mode == 1) { /* 2100 */ ret = new Boolean(this.enableMenu); /* 2101 */ } else if (mode == 2) /* 2102 */ setEnableMenu(((Boolean)value).booleanValue()); /* 2103 */ break; /* */ /* */ case 2: /* 2106 */ if (mode == 0) { /* 2107 */ ret = BooleanPropertyEditor.make(new Property(this, index, /* 2108 */ "Disable Shaper Access (irreversible!)"), "No", "Yes"); /* 2109 */ } else if (mode == 1) { /* 2110 */ ret = new Boolean(this.disableShaperAccess); /* 2111 */ } else if (mode == 2) /* 2112 */ this.disableShaperAccess = ((Boolean)value).booleanValue(); /* 2113 */ break; /* */ /* */ case 3: /* 2116 */ if (mode == 0) { /* 2117 */ ret = BooleanPropertyEditor.make(new Property(this, index, /* 2118 */ "Disable Single-user Access"), "No", "Yes"); /* 2119 */ } else if (mode == 1) { /* 2120 */ ret = new Boolean(this.disableSingleUserAccess); /* 2121 */ } else if (mode == 2) /* 2122 */ this.disableSingleUserAccess = ((Boolean)value).booleanValue(); /* 2123 */ break; /* */ /* */ case 4: /* 2126 */ if (mode == 0) { /* 2127 */ ret = new Property(this, index, "Pilot Soul Template"); /* 2128 */ } else if (mode == 1) /* 2129 */ ret = this.pilotSoulTemplate; /* 2130 */ break; /* */ /* */ case 5: /* 2133 */ if (mode == 0) { /* 2134 */ ret = new Property(this, index, "Drone Soul Template"); /* 2135 */ } else if (mode == 1) /* 2136 */ ret = this.droneSoulTemplate; /* 2137 */ break; /* */ /* */ case 6: /* 2140 */ if (mode == 0) { /* 2141 */ ret = new Property(this, index, "Cursor"); /* 2142 */ } else if (mode == 1) /* 2143 */ ret = getCursor(); /* 2144 */ break; /* */ /* */ case 7: /* 2147 */ if (mode == 0) { /* 2148 */ ret = PropAdder.make(new VectorProperty(this, index, /* 2149 */ "Temporary Area")); /* 2150 */ } else if (mode == 1) { /* 2151 */ ret = this.tempArea.clone(); /* 2152 */ } else if (mode == 4) { /* 2153 */ this.tempArea.removeElement(value); /* 2154 */ ((SuperRoot)value).detach(); /* 2155 */ } else if (mode == 3) { /* 2156 */ this.tempArea.addElement(value); /* 2157 */ add((SuperRoot)value); /* 2158 */ if ((value instanceof Console)) { /* 2159 */ Console c = (Console)value; /* 2160 */ if (c.pilotSoulTemplate == null) /* 2161 */ c.loadInit(); /* */ } /* 2163 */ } else if ((mode == 5) && ((value instanceof SuperRoot)) && /* 2164 */ (!(value instanceof Room))) { /* 2165 */ ret = value; } /* 2166 */ break; /* */ /* */ case 8: /* 2169 */ if (mode == 0) { /* 2170 */ ret = StringPropertyEditor.make(new Property(this, index, /* 2171 */ "Default Action")); /* 2172 */ } else if (mode == 1) { /* 2173 */ ret = getDefaultAction(); /* 2174 */ } else if (mode == 2) /* 2175 */ setDefaultAction((String)value); /* 2176 */ break; /* */ /* */ default: /* 2179 */ ret = super.properties(index, offset + 9, mode, value); /* */ } /* 2181 */ return ret; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* 2189 */ private Vector tempArea = new Vector(); /* */ /* */ /* 2192 */ private static Object classCookie = new Object(); /* */ /* */ public void saveState(Saver s) throws IOException { /* 2195 */ s.saveVersion(4, classCookie); /* 2196 */ super.saveState(s); /* */ /* 2198 */ NET.worlds.network.URL.save(s, getGalaxyURL()); /* 2199 */ s.saveBoolean(this.enableMenu); /* 2200 */ s.saveBoolean(this.disableShaperAccess); /* 2201 */ s.saveString(this.defaultAction); /* 2202 */ s.save(this.pilotSoulTemplate); /* 2203 */ s.save(this.droneSoulTemplate); /* 2204 */ s.save(this.cursor); /* */ } /* */ /* */ /* */ /* */ /* */ private static NET.worlds.network.URL restoreOldURL(Restorer r) /* */ throws IOException /* */ { /* 2213 */ String s = r.restoreString(); /* 2214 */ if ((s == null) || (s.equals("UNSHARED"))) { /* 2215 */ return null; /* */ } /* 2217 */ return makeServerURL(s); /* */ } /* */ /* */ public void restoreState(Restorer r) throws IOException, TooNewException { /* 2221 */ int vers = r.restoreVersion(classCookie); /* 2222 */ switch (vers) /* */ { /* */ /* */ case 0: /* */ case 1: /* 2227 */ WObject w = new WObject(); /* 2228 */ w.restoreState(r); /* 2229 */ setName(w.getName()); /* */ /* 2231 */ templateInit(); /* */ /* */ /* 2234 */ Enumeration e = w.getAttributes(); /* 2235 */ while (e.hasMoreElements()) { /* 2236 */ Attribute a = (Attribute)e.nextElement(); /* 2237 */ a.setAttrID(a.getForwardAttrID()); /* */ } /* */ /* */ /* 2241 */ Pilot.copySoul(w, this.pilotSoulTemplate); /* */ /* */ /* 2244 */ setServerURL(restoreOldURL(r)); /* 2245 */ this.enableMenu = r.restoreBoolean(); /* 2246 */ this.disableShaperAccess = r.restoreBoolean(); /* */ /* 2248 */ if (vers == 1) { /* 2249 */ this.cursor = ((Cursor)r.restore()); /* */ } /* 2251 */ break; /* */ /* */ case 2: /* 2254 */ super.restoreState(r); /* 2255 */ setServerURL(restoreOldURL(r)); /* 2256 */ this.enableMenu = r.restoreBoolean(); /* 2257 */ this.disableShaperAccess = r.restoreBoolean(); /* 2258 */ this.pilotSoulTemplate = ((Pilot)r.restore()); /* 2259 */ add(this.pilotSoulTemplate); /* 2260 */ this.droneSoulTemplate = ((Drone)r.restore()); /* 2261 */ add(this.droneSoulTemplate); /* 2262 */ this.cursor = ((Cursor)r.restore()); /* 2263 */ break; /* */ /* */ case 3: /* 2266 */ super.restoreState(r); /* 2267 */ setServerURL(restoreOldURL(r)); /* 2268 */ this.enableMenu = r.restoreBoolean(); /* 2269 */ this.disableShaperAccess = r.restoreBoolean(); /* 2270 */ this.defaultAction = r.restoreString(); /* 2271 */ this.pilotSoulTemplate = ((Pilot)r.restore()); /* 2272 */ add(this.pilotSoulTemplate); /* 2273 */ this.droneSoulTemplate = ((Drone)r.restore()); /* 2274 */ add(this.droneSoulTemplate); /* 2275 */ this.cursor = ((Cursor)r.restore()); /* 2276 */ break; /* */ /* */ case 4: /* 2279 */ super.restoreState(r); /* */ /* */ /* */ /* 2283 */ setServerURL(NET.worlds.network.URL.restore(r)); /* 2284 */ this.enableMenu = r.restoreBoolean(); /* 2285 */ this.disableShaperAccess = r.restoreBoolean(); /* 2286 */ this.defaultAction = r.restoreString(); /* 2287 */ this.pilotSoulTemplate = ((Pilot)r.restore()); /* 2288 */ add(this.pilotSoulTemplate); /* 2289 */ this.droneSoulTemplate = ((Drone)r.restore()); /* 2290 */ add(this.droneSoulTemplate); /* 2291 */ this.cursor = ((Cursor)r.restore()); /* 2292 */ break; /* */ /* */ default: /* 2295 */ throw new TooNewException(); /* */ } /* */ /* 2298 */ add(this.cursor); /* */ } /* */ /* */ public void inventoryChanged() {} /* */ /* */ public static final native String encrypt(String paramString); /* */ /* */ public static final native String decrypt(String paramString); /* */ /* */ public static final native int getVolumeInfo(); /* */ /* */ public abstract NET.worlds.network.URL getAvatarName(); /* */ /* */ public abstract void setChatname(String paramString); /* */ /* */ public void register() {} /* */ /* */ public void reacquireServer(WorldServer oldServ) {} /* */ /* */ public abstract void setOnlineState(boolean paramBoolean1, boolean paramBoolean2); /* */ } /* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\console\Console.class * Java compiler version: 6 (50.0) * JD-Core Version: 0.7.1 */