Guest User

Untitled

a guest
Jun 18th, 2010
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 57.58 KB | None | 0 0
  1. import java.io.*;
  2.  
  3. public final class RSInterface
  4. {
  5.  
  6.     public Sprite sprite1;
  7.     public int transAmount;
  8.     public int anInt208;
  9.     public Sprite sprites[];
  10.     public static RSInterface interfaceCache[];
  11.     public int anIntArray212[];
  12.     public int anInt214;
  13.     public int spritesX[];
  14.     public int anInt216;
  15.     public int atActionType;
  16.     public String spellName;
  17.     public int anInt219;
  18.     public int width;
  19.     public String tooltip;
  20.     public String selectedActionName;
  21.     public boolean aBoolean223;
  22.     public int scrollPosition;
  23.     public String actions[];
  24.     public int valueIndexArray[][];
  25.     public boolean aBoolean227;
  26.     public String aString228;
  27.     public int anInt230;
  28.     public int invSpritePadX;
  29.     public int textColor;
  30.     public int anInt233;
  31.     public int mediaID;
  32.     public boolean aBoolean235;
  33.     public int parentID;
  34.     public int spellUsableOn;
  35.     private static MRUNodes aMRUNodes_238;
  36.     public int anInt239;
  37.     public int children[];
  38.     public int childX[];
  39.     public boolean usableItemInterface;
  40.     public TextDrawingArea textDrawingAreas;
  41.     public int invSpritePadY;
  42.     public int anIntArray245[];
  43.     public int anInt246;
  44.     public int spritesY[];
  45.     public String message;
  46.     public boolean isInventoryInterface;
  47.     public int id;
  48.     public int invStackSizes[];
  49.     public int inv[];
  50.     public byte aByte254;
  51.     private int anInt255;
  52.     private int anInt256;
  53.     public int anInt257;
  54.     public int anInt258;
  55.     public boolean aBoolean259;
  56.     public Sprite sprite2;
  57.     public int scrollMax;
  58.     public int type;
  59.     public int anInt263;
  60.     private static final MRUNodes aMRUNodes_264 = new MRUNodes(30);
  61.     public int anInt265;
  62.     public boolean aBoolean266;
  63.     public int height;
  64.     public boolean aBoolean268;
  65.     public int anInt269;
  66.     public int anInt270;
  67.     public int anInt271;
  68.     public int childY[];
  69.  
  70.     public void swapInventoryItems(int i, int j)
  71.     {
  72.         int k = inv[i];
  73.         inv[i] = inv[j];
  74.         inv[j] = k;
  75.         k = invStackSizes[i];
  76.         invStackSizes[i] = invStackSizes[j];
  77.         invStackSizes[j] = k;
  78.     }
  79.  
  80.     public static void configureLunar(TextDrawingArea atextdrawingarea[])
  81.     {
  82.         homeTeleport();
  83.         drawRune(30003, 1, "Fire");
  84.         drawRune(30004, 2, "Water");
  85.         drawRune(30005, 3, "Air");
  86.         drawRune(30006, 4, "Earth");
  87.         drawRune(30007, 5, "Mind");
  88.         drawRune(30008, 6, "Body");
  89.         drawRune(30009, 7, "Death");
  90.         drawRune(30010, 8, "Nature");
  91.         drawRune(30011, 9, "Chaos");
  92.         drawRune(30012, 10, "Law");
  93.         drawRune(30013, 11, "Cosmic");
  94.         drawRune(30014, 12, "Blood");
  95.         drawRune(30015, 13, "Soul");
  96.         drawRune(30016, 14, "Astral");
  97.         addLunar3RunesSmallBox(30017, 553, 554, 555, 0, 4, 3, 30003, 30004, 64, "Bake Pie", "Bake pies without a stove", atextdrawingarea, 0, 16, 2);
  98.         addLunar2RunesSmallBox(30025, 553, 557, 0, 7, 30006, 65, "Cure Plant", "Cure disease on farming patch", atextdrawingarea, 1, 4, 2);
  99.         addLunar3RunesBigBox(30032, 553, 564, 558, 0, 0, 0, 30013, 30007, 65, "Monster Examine", "Detect the combat statistics of a\\nmonster", atextdrawingarea, 2, 2, 2);
  100.         addLunar3RunesSmallBox(30040, 553, 564, 556, 0, 0, 1, 30013, 30005, 66, "NPC Contact", "Speak with varied NPCs", atextdrawingarea, 3, 0, 2);
  101.         addLunar3RunesSmallBox(30048, 553, 563, 557, 0, 0, 9, 30012, 30006, 67, "Cure Other", "Cure poisoned players", atextdrawingarea, 4, 8, 2);
  102.         addLunar3RunesSmallBox(30056, 553, 555, 554, 0, 0, 1, 30012, 30006, 68, "Humidify", "fills certain vessels with water", atextdrawingarea, 5, 0, 5);
  103.         addLunar3RunesSmallBox(30064, 553, 563, 557, 1, 0, 1, 30012, 30006, 68, "Varrock Teleport", "Teleport to Varrock", atextdrawingarea, 6, 0, 5);
  104.         addLunar3RunesBigBox(30075, 553, 563, 557, 1, 0, 3, 30012, 30006, 69, "Lumbridge Teleport", "Teleport to Lumbridge.", atextdrawingarea, 7, 0, 5);
  105.         addLunar3RunesSmallBox(30083, 553, 563, 557, 1, 0, 5, 30012, 30006, 70, "Falador Teleport", "Teleport to Falador", atextdrawingarea, 8, 0, 5);
  106.         addLunar3RunesSmallBox(30091, 553, 564, 563, 1, 1, 0, 30013, 30012, 70, "Cure Me", "Cures Poison", atextdrawingarea, 9, 0, 5);
  107.         addLunar2RunesSmallBox(30099, 553, 557, 1, 1, 30006, 70, "Hunter Kit", "Get a kit of hunting gear", atextdrawingarea, 10, 0, 5);
  108.         addLunar3RunesSmallBox(30106, 553, 563, 555, 1, 0, 0, 30012, 30004, 71, "Camelot Teleport", "Teleport to Camelot.", atextdrawingarea, 11, 0, 5);
  109.         addLunar3RunesBigBox(30114, 553, 563, 555, 1, 0, 4, 30012, 30004, 72, "Ardougne Teleport", "Teleport to Ardougne.", atextdrawingarea, 12, 0, 5);
  110.         addLunar3RunesSmallBox(30122, 553, 564, 563, 1, 1, 1, 30013, 30012, 73, "Cure Group", "Cures Poison on players", atextdrawingarea, 13, 0, 5);
  111.         addLunar3RunesBigBox(30130, 553, 564, 559, 1, 1, 4, 30013, 30008, 74, "Stat Spy", "Cast on another player to see their\\nskill levels", atextdrawingarea, 14, 8, 2);
  112.         addLunar3RunesBigBox(30138, 553, 563, 554, 1, 1, 2, 30012, 30003, 74, "PvP Regions", "Teleport to PvP Areas.", atextdrawingarea, 15, 0, 5);
  113.         addLunar3RunesBigBox(30146, 553, 563, 554, 1, 1, 5, 30012, 30003, 75, "Training Areas", "Teleport to Training Areas.", atextdrawingarea, 16, 0, 5);
  114.         addLunar3RunesSmallBox(30154, 553, 554, 556, 1, 5, 9, 30003, 30005, 76, "Superglass Make", "Make glass without a furnace", atextdrawingarea, 17, 16, 2);
  115.         addLunar3RunesSmallBox(30162, 553, 563, 555, 1, 1, 3, 30012, 30004, 77, "Minigame Teleports", "Play minigames here", atextdrawingarea, 18, 0, 5);
  116.         addLunar3RunesSmallBox(30170, 553, 563, 555, 1, 1, 7, 30012, 30004, 78, "Tele Group Khazard", "Teleports players to Port khazard", atextdrawingarea, 19, 0, 5);
  117.         addLunar3RunesBigBox(30178, 553, 564, 559, 1, 0, 4, 30013, 30008, 78, "Dream", "Take a rest and restore hitpoints 3n times faster", atextdrawingarea, 20, 0, 5);
  118.         addLunar3RunesSmallBox(30186, 553, 557, 555, 1, 9, 4, 30006, 30004, 79, "String Jewellery", "String amulets without wool", atextdrawingarea, 21, 0, 5);
  119.         addLunar3RunesLargeBox(30194, 553, 557, 555, 1, 9, 9, 30006, 30004, 80, "Stat Restore Pot Share", "Share a potion with up to 4 nearby\\nplayers", atextdrawingarea, 22, 0, 5);
  120.         addLunar3RunesSmallBox(30202, 553, 554, 555, 1, 6, 6, 30003, 30004, 81, "Magic Imbue", "Combine runes without a talisman", atextdrawingarea, 23, 0, 5);
  121.         addLunar3RunesBigBox(30210, 553, 561, 557, 2, 1, 14, 30010, 30006, 82, "Fertile Soil", "Fertilise a farming patch with super compost", atextdrawingarea, 24, 4, 2);
  122.         addLunar3RunesBigBox(30218, 553, 557, 555, 2, 11, 9, 30006, 30004, 83, "Boost Potion Share", "Shares a potion with up to 4 nearby nplayers", atextdrawingarea, 25, 0, 5);
  123.         addLunar3RunesSmallBox(30226, 553, 563, 555, 2, 2, 9, 30012, 30004, 84, "Fishing Guild Teleport", "Teleports you to the fishing guild", atextdrawingarea, 26, 0, 5);
  124.         addLunar3RunesLargeBox(30234, 553, 563, 555, 1, 2, 13, 30012, 30004, 85, "Tele Group Fishing Guild", "Teleports players to the Fishing\\nGuild", atextdrawingarea, 27, 0, 5);
  125.         addLunar3RunesSmallBox(30242, 553, 557, 561, 2, 14, 0, 30006, 30010, 85, "Plank Make", "Turn Logs into planks", atextdrawingarea, 28, 16, 5);
  126.         addLunar3RunesSmallBox(30250, 553, 563, 555, 2, 2, 9, 30012, 30004, 86, "Catherby Teleport", "Teleports you to Catherby", atextdrawingarea, 29, 0, 5);
  127.         addLunar3RunesSmallBox(30258, 553, 563, 555, 2, 2, 14, 30012, 30004, 87, "Tele Group Catherby", "Teleports players to Catherby", atextdrawingarea, 30, 0, 5);
  128.         addLunar3RunesSmallBox(30266, 553, 563, 555, 2, 2, 7, 30012, 30004, 88, "Ice Plateau Teleport", "Teleports you to Ice Plateau", atextdrawingarea, 31, 0, 5);
  129.         addLunar3RunesBigBox(30274, 553, 563, 555, 2, 2, 15, 30012, 30004, 89, "Tele Group Icen Plateau", "Teleports players to Ice Plateau", atextdrawingarea, 32, 0, 5);
  130.         addLunar3RunesBigBox(30282, 553, 563, 561, 2, 1, 0, 30012, 30010, 90, "Energy Transfer", "Spend hitpoints and SA Energy to\\n give another player hitpoints and run energy", atextdrawingarea, 33, 8, 2);
  131.         addLunar3RunesBigBox(30290, 553, 563, 565, 2, 2, 0, 30012, 30014, 91, "Heal Other", "Transfer up to 75% of hitpoints\\n to another player", atextdrawingarea, 34, 8, 2);
  132.         addLunar3RunesBigBox(30298, 553, 560, 557, 2, 1, 9, 30009, 30006, 92, "Vengeance Other", "Allows another player to rebound\\ndamage to an opponent", atextdrawingarea, 35, 8, 2);
  133.         addLunar3RunesSmallBox(30306, 553, 560, 557, 3, 1, 9, 30009, 30006, 93, "Vengeance", "Rebound damage to an opponent", atextdrawingarea, 36, 0, 5);
  134.         addLunar3RunesBigBox(30314, 553, 565, 563, 3, 2, 5, 30014, 30012, 94, "Heal Group", "Transfer up to 75% of hitpoints to a group", atextdrawingarea, 37, 0, 5);
  135.         addLunar3RunesBigBox(30322, 553, 564, 563, 2, 1, 0, 30013, 30012, 95, "Spellbook Swap", "Change to another spellbook for 1\\nspell cast", atextdrawingarea, 38, 0, 5);
  136.     }
  137.  
  138.     public static void constructLunar()
  139.     {
  140.         RSInterface rsinterface = addInterface(29999);
  141.         setChildren(71, rsinterface);
  142.         int ai[] = {
  143.             30000, 30017, 30025, 30032, 30040, 30048, 30056, 30064, 30075, 30083,
  144.             30091, 30099, 30106, 30114, 30122, 30130, 30138, 30146, 30154, 30162,
  145.             30170, 30178, 30186, 30194, 30202, 30210, 30218, 30226, 30234, 30242,
  146.             30250, 30258, 30266, 30274, 30282, 30290, 30298, 30306, 30314, 30322,
  147.             30001, 30018, 30026, 30033, 30041, 30049, 30057, 30065, 30076, 30084,
  148.             30092, 30100, 30107, 30115, 30123, 30131, 30139, 30147, 30155, 30163,
  149.             30171, 30179, 30187, 30195, 30203, 30211, 30219, 30227, 30235, 30243,
  150.             30251
  151.         };
  152.         int ai1[] = {
  153.             11, 40, 71, 103, 135, 165, 10, 39, 71, 103,
  154.             135, 165, 12, 42, 71, 103, 135, 165, 14, 42,
  155.             71, 101, 135, 168, 11, 42, 74, 103, 135, 164,
  156.             10, 42, 71, 103, 136, 165, 13, 42, 71, 104,
  157.             6, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  158.             5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  159.             5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
  160.             5
  161.         };
  162.         int ai2[] = {
  163.             10, 9, 12, 10, 12, 10, 39, 39, 39, 39,
  164.             39, 37, 68, 68, 68, 68, 68, 68, 97, 97,
  165.             97, 97, 98, 98, 125, 124, 125, 125, 125, 126,
  166.             155, 155, 155, 155, 155, 155, 185, 185, 184, 184,
  167.             184, 176, 176, 163, 176, 176, 176, 176, 163, 176,
  168.             176, 176, 176, 163, 176, 163, 163, 163, 176, 176,
  169.             176, 163, 176, 149, 176, 163, 163, 176, 149, 176,
  170.             176, 176
  171.         };
  172.         for(int i = 0; i < ai.length; i++)
  173.         {
  174.             setBounds(ai[i], ai1[i], ai2[i], i, rsinterface);
  175.         }
  176.  
  177.     }
  178.  
  179.     private static Sprite LoadSprite(int i, String s)
  180.     {
  181.         long l = (TextClass.method585(s) << 8) + (long)i;
  182.         Sprite sprite = (Sprite)aMRUNodes_238.insertFromCache(l);
  183.         if(sprite != null)
  184.         {
  185.             return sprite;
  186.         }
  187.         try
  188.         {
  189.             sprite = new Sprite(System.getProperty("user.home")+"/"+s+" "+i+".PNG");
  190.             aMRUNodes_238.removeFromCache(sprite, l);
  191.         }
  192.         catch(Exception exception)
  193.         {
  194.             System.out.println(exception);
  195.             return null;
  196.         }
  197.         return sprite;
  198.     }
  199.  
  200.     public static void addLunarSprite(int i, int j, String s)
  201.     {
  202.         RSInterface rsinterface = addInterface(i);
  203.         rsinterface.id = i;
  204.         rsinterface.parentID = i;
  205.         rsinterface.type = 5;
  206.         rsinterface.atActionType = 0;
  207.         rsinterface.aBoolean266 = true;
  208.         rsinterface.transAmount = 230;
  209.         rsinterface.anInt214 = 0;
  210.         rsinterface.aByte254 = 0;
  211.         rsinterface.anInt230 = 52;
  212.         rsinterface.sprite1 = LoadSprite(j, s);
  213.         rsinterface.width = 500;
  214.         rsinterface.height = 500;
  215.         rsinterface.tooltip = "";
  216.     }
  217.  
  218.     public static void drawRune(int i, int j, String s)
  219.     {
  220.         RSInterface rsinterface = addInterface(i);
  221.         rsinterface.type = 5;
  222.         rsinterface.atActionType = 0;
  223.         rsinterface.anInt214 = 0;
  224.         rsinterface.aByte254 = 0;
  225.         rsinterface.anInt230 = 52;
  226.         rsinterface.sprite1 = LoadSprite(j, "Lunar/RUNE");
  227.         rsinterface.width = 500;
  228.         rsinterface.height = 500;
  229.     }
  230.  
  231.     public static void addRuneText(int i, int j, int k, TextDrawingArea atextdrawingarea[])
  232.     {
  233.         RSInterface rsinterface = addInterface(i);
  234.         rsinterface.id = i;
  235.         rsinterface.parentID = 1151;
  236.         rsinterface.type = 4;
  237.         rsinterface.atActionType = 0;
  238.         rsinterface.anInt214 = 0;
  239.         rsinterface.width = 0;
  240.         rsinterface.height = 14;
  241.         rsinterface.aByte254 = 0;
  242.         rsinterface.anInt230 = -1;
  243.         rsinterface.anIntArray245 = new int[1];
  244.         rsinterface.anIntArray212 = new int[1];
  245.         rsinterface.anIntArray245[0] = 3;
  246.         rsinterface.anIntArray212[0] = j;
  247.         rsinterface.valueIndexArray = new int[1][4];
  248.         rsinterface.valueIndexArray[0][0] = 4;
  249.         rsinterface.valueIndexArray[0][1] = 3214;
  250.         rsinterface.valueIndexArray[0][2] = k;
  251.         rsinterface.valueIndexArray[0][3] = 0;
  252.         rsinterface.aBoolean223 = true;
  253.         rsinterface.textDrawingAreas = atextdrawingarea[0];
  254.         rsinterface.aBoolean268 = true;
  255.         rsinterface.message = (new StringBuilder()).append("%1/").append(j).append("").toString();
  256.         rsinterface.aString228 = "";
  257.         rsinterface.textColor = 0xc00000;
  258.         rsinterface.anInt219 = 49152;
  259.     }
  260.  
  261.     public static void homeTeleport()
  262.     {
  263.         RSInterface rsinterface = addInterface(30000);
  264.         rsinterface.tooltip = "Cast @gre@Lunar Home Teleport";
  265.         rsinterface.id = 30000;
  266.         rsinterface.parentID = 30000;
  267.         rsinterface.type = 5;
  268.         rsinterface.atActionType = 5;
  269.         rsinterface.anInt214 = 0;
  270.         rsinterface.aByte254 = 0;
  271.         rsinterface.anInt230 = 30001;
  272.         rsinterface.sprite1 = LoadSprite(1, "Lunar/SPRITE");
  273.         rsinterface.width = 20;
  274.         rsinterface.height = 20;
  275.         RSInterface rsinterface1 = addInterface(30001);
  276.         rsinterface1.aBoolean266 = true;
  277.         rsinterface1.anInt230 = -1;
  278.         setChildren(1, rsinterface1);
  279.         addLunarSprite(30002, 0, "SPRITE");
  280.         setBounds(30002, 0, 0, 0, rsinterface1);
  281.     }
  282.  
  283.     public static void addLunar2RunesSmallBox(int i, int j, int k, int l, int i1, int j1, int k1, String s,
  284.             String s1, TextDrawingArea atextdrawingarea[], int l1, int i2, int j2)
  285.     {
  286.         RSInterface rsinterface = addInterface(i);
  287.         rsinterface.id = i;
  288.         rsinterface.parentID = 1151;
  289.         rsinterface.type = 5;
  290.         rsinterface.atActionType = j2;
  291.         rsinterface.anInt214 = 0;
  292.         rsinterface.anInt230 = i + 1;
  293.         rsinterface.spellUsableOn = i2;
  294.         rsinterface.selectedActionName = "Cast On";
  295.         rsinterface.width = 20;
  296.         rsinterface.height = 20;
  297.         rsinterface.tooltip = (new StringBuilder()).append("Cast @gre@").append(s).toString();
  298.         rsinterface.spellName = s;
  299.         rsinterface.anIntArray245 = new int[3];
  300.         rsinterface.anIntArray212 = new int[3];
  301.         rsinterface.anIntArray245[0] = 3;
  302.         rsinterface.anIntArray212[0] = l;
  303.         rsinterface.anIntArray245[1] = 3;
  304.         rsinterface.anIntArray212[1] = i1;
  305.         rsinterface.anIntArray245[2] = 3;
  306.         rsinterface.anIntArray212[2] = k1;
  307.         rsinterface.valueIndexArray = new int[3][];
  308.         rsinterface.valueIndexArray[0] = new int[4];
  309.         rsinterface.valueIndexArray[0][0] = 4;
  310.         rsinterface.valueIndexArray[0][1] = 3214;
  311.         rsinterface.valueIndexArray[0][2] = j;
  312.         rsinterface.valueIndexArray[0][3] = 0;
  313.         rsinterface.valueIndexArray[1] = new int[4];
  314.         rsinterface.valueIndexArray[1][0] = 4;
  315.         rsinterface.valueIndexArray[1][1] = 3214;
  316.         rsinterface.valueIndexArray[1][2] = k;
  317.         rsinterface.valueIndexArray[1][3] = 0;
  318.         rsinterface.valueIndexArray[2] = new int[3];
  319.         rsinterface.valueIndexArray[2][0] = 1;
  320.         rsinterface.valueIndexArray[2][1] = 6;
  321.         rsinterface.valueIndexArray[2][2] = 0;
  322.         rsinterface.sprite2 = LoadSprite(l1, "Lunar/LUNARON");
  323.         rsinterface.sprite1 = LoadSprite(l1, "Lunar/LUNAROFF");
  324.         RSInterface rsinterface1 = addInterface(i + 1);
  325.         rsinterface1.aBoolean266 = true;
  326.         rsinterface1.anInt230 = -1;
  327.         setChildren(7, rsinterface1);
  328.         addLunarSprite(i + 2, 0, "Lunar/BOX");
  329.         setBounds(i + 2, 0, 0, 0, rsinterface1);
  330.         addText(i + 3, (new StringBuilder()).append("Level ").append(k1 + 1).append(": ").append(s).toString(), 0xff981f, true, true, 52, atextdrawingarea, 1);
  331.         setBounds(i + 3, 90, 4, 1, rsinterface1);
  332.         addText(i + 4, s1, 0xaf6a1a, true, true, 52, atextdrawingarea, 0);
  333.         setBounds(i + 4, 90, 19, 2, rsinterface1);
  334.         setBounds(30016, 37, 35, 3, rsinterface1);
  335.         setBounds(j1, 112, 35, 4, rsinterface1);
  336.         addRuneText(i + 5, l + 1, j, atextdrawingarea);
  337.         setBounds(i + 5, 50, 66, 5, rsinterface1);
  338.         addRuneText(i + 6, i1 + 1, k, atextdrawingarea);
  339.         setBounds(i + 6, 123, 66, 6, rsinterface1);
  340.     }
  341.  
  342.     public static void addLunar3RunesSmallBox(int i, int j, int k, int l, int i1, int j1, int k1, int l1,
  343.             int i2, int j2, String s, String s1, TextDrawingArea atextdrawingarea[], int k2, int l2,
  344.             int i3)
  345.     {
  346.         RSInterface rsinterface = addInterface(i);
  347.         rsinterface.id = i;
  348.         rsinterface.parentID = 1151;
  349.         rsinterface.type = 5;
  350.         rsinterface.atActionType = i3;
  351.         rsinterface.anInt214 = 0;
  352.         rsinterface.anInt230 = i + 1;
  353.         rsinterface.spellUsableOn = l2;
  354.         rsinterface.selectedActionName = "Cast on";
  355.         rsinterface.width = 20;
  356.         rsinterface.height = 20;
  357.         rsinterface.tooltip = (new StringBuilder()).append("Cast @gre@").append(s).toString();
  358.         rsinterface.spellName = s;
  359.         rsinterface.anIntArray245 = new int[4];
  360.         rsinterface.anIntArray212 = new int[4];
  361.         rsinterface.anIntArray245[0] = 3;
  362.         rsinterface.anIntArray212[0] = i1;
  363.         rsinterface.anIntArray245[1] = 3;
  364.         rsinterface.anIntArray212[1] = j1;
  365.         rsinterface.anIntArray245[2] = 3;
  366.         rsinterface.anIntArray212[2] = k1;
  367.         rsinterface.anIntArray245[3] = 3;
  368.         rsinterface.anIntArray212[3] = j2;
  369.         rsinterface.valueIndexArray = new int[4][];
  370.         rsinterface.valueIndexArray[0] = new int[4];
  371.         rsinterface.valueIndexArray[0][0] = 4;
  372.         rsinterface.valueIndexArray[0][1] = 3214;
  373.         rsinterface.valueIndexArray[0][2] = j;
  374.         rsinterface.valueIndexArray[0][3] = 0;
  375.         rsinterface.valueIndexArray[1] = new int[4];
  376.         rsinterface.valueIndexArray[1][0] = 4;
  377.         rsinterface.valueIndexArray[1][1] = 3214;
  378.         rsinterface.valueIndexArray[1][2] = k;
  379.         rsinterface.valueIndexArray[1][3] = 0;
  380.         rsinterface.valueIndexArray[2] = new int[4];
  381.         rsinterface.valueIndexArray[2][0] = 4;
  382.         rsinterface.valueIndexArray[2][1] = 3214;
  383.         rsinterface.valueIndexArray[2][2] = l;
  384.         rsinterface.valueIndexArray[2][3] = 0;
  385.         rsinterface.valueIndexArray[3] = new int[3];
  386.         rsinterface.valueIndexArray[3][0] = 1;
  387.         rsinterface.valueIndexArray[3][1] = 6;
  388.         rsinterface.valueIndexArray[3][2] = 0;
  389.         rsinterface.sprite2 = LoadSprite(k2, "Lunar/LUNARON");
  390.         rsinterface.sprite1 = LoadSprite(k2, "Lunar/LUNAROFF");
  391.         RSInterface rsinterface1 = addInterface(i + 1);
  392.         rsinterface1.aBoolean266 = true;
  393.         rsinterface1.anInt230 = -1;
  394.         setChildren(9, rsinterface1);
  395.         addLunarSprite(i + 2, 0, "Lunar/BOX");
  396.         setBounds(i + 2, 0, 0, 0, rsinterface1);
  397.         addText(i + 3, (new StringBuilder()).append("Level ").append(j2 + 1).append(": ").append(s).toString(), 0xff981f, true, true, 52, atextdrawingarea, 1);
  398.         setBounds(i + 3, 90, 4, 1, rsinterface1);
  399.         addText(i + 4, s1, 0xaf6a1a, true, true, 52, atextdrawingarea, 0);
  400.         setBounds(i + 4, 90, 19, 2, rsinterface1);
  401.         setBounds(30016, 14, 35, 3, rsinterface1);
  402.         setBounds(l1, 74, 35, 4, rsinterface1);
  403.         setBounds(i2, 130, 35, 5, rsinterface1);
  404.         addRuneText(i + 5, i1 + 1, j, atextdrawingarea);
  405.         setBounds(i + 5, 26, 66, 6, rsinterface1);
  406.         addRuneText(i + 6, j1 + 1, k, atextdrawingarea);
  407.         setBounds(i + 6, 87, 66, 7, rsinterface1);
  408.         addRuneText(i + 7, k1 + 1, l, atextdrawingarea);
  409.         setBounds(i + 7, 142, 66, 8, rsinterface1);
  410.     }
  411.  
  412.     public static void addLunar3RunesBigBox(int i, int j, int k, int l, int i1, int j1, int k1, int l1,
  413.             int i2, int j2, String s, String s1, TextDrawingArea atextdrawingarea[], int k2, int l2,
  414.             int i3)
  415.     {
  416.         RSInterface rsinterface = addInterface(i);
  417.         rsinterface.id = i;
  418.         rsinterface.parentID = 1151;
  419.         rsinterface.type = 5;
  420.         rsinterface.atActionType = i3;
  421.         rsinterface.anInt214 = 0;
  422.         rsinterface.anInt230 = i + 1;
  423.         rsinterface.spellUsableOn = l2;
  424.         rsinterface.selectedActionName = "Cast on";
  425.         rsinterface.width = 20;
  426.         rsinterface.height = 20;
  427.         rsinterface.tooltip = (new StringBuilder()).append("Cast @gre@").append(s).toString();
  428.         rsinterface.spellName = s;
  429.         rsinterface.anIntArray245 = new int[4];
  430.         rsinterface.anIntArray212 = new int[4];
  431.         rsinterface.anIntArray245[0] = 3;
  432.         rsinterface.anIntArray212[0] = i1;
  433.         rsinterface.anIntArray245[1] = 3;
  434.         rsinterface.anIntArray212[1] = j1;
  435.         rsinterface.anIntArray245[2] = 3;
  436.         rsinterface.anIntArray212[2] = k1;
  437.         rsinterface.anIntArray245[3] = 3;
  438.         rsinterface.anIntArray212[3] = j2;
  439.         rsinterface.valueIndexArray = new int[4][];
  440.         rsinterface.valueIndexArray[0] = new int[4];
  441.         rsinterface.valueIndexArray[0][0] = 4;
  442.         rsinterface.valueIndexArray[0][1] = 3214;
  443.         rsinterface.valueIndexArray[0][2] = j;
  444.         rsinterface.valueIndexArray[0][3] = 0;
  445.         rsinterface.valueIndexArray[1] = new int[4];
  446.         rsinterface.valueIndexArray[1][0] = 4;
  447.         rsinterface.valueIndexArray[1][1] = 3214;
  448.         rsinterface.valueIndexArray[1][2] = k;
  449.         rsinterface.valueIndexArray[1][3] = 0;
  450.         rsinterface.valueIndexArray[2] = new int[4];
  451.         rsinterface.valueIndexArray[2][0] = 4;
  452.         rsinterface.valueIndexArray[2][1] = 3214;
  453.         rsinterface.valueIndexArray[2][2] = l;
  454.         rsinterface.valueIndexArray[2][3] = 0;
  455.         rsinterface.valueIndexArray[3] = new int[3];
  456.         rsinterface.valueIndexArray[3][0] = 1;
  457.         rsinterface.valueIndexArray[3][1] = 6;
  458.         rsinterface.valueIndexArray[3][2] = 0;
  459.         rsinterface.sprite2 = LoadSprite(k2, "Lunar/LUNARON");
  460.         rsinterface.sprite1 = LoadSprite(k2, "Lunar/LUNAROFF");
  461.         RSInterface rsinterface1 = addInterface(i + 1);
  462.         rsinterface1.aBoolean266 = true;
  463.         rsinterface1.anInt230 = -1;
  464.         setChildren(9, rsinterface1);
  465.         addLunarSprite(i + 2, 1, "Lunar/BOX");
  466.         setBounds(i + 2, 0, 0, 0, rsinterface1);
  467.         addText(i + 3, (new StringBuilder()).append("Level ").append(j2 + 1).append(": ").append(s).toString(), 0xff981f, true, true, 52, atextdrawingarea, 1);
  468.         setBounds(i + 3, 90, 4, 1, rsinterface1);
  469.         addText(i + 4, s1, 0xaf6a1a, true, true, 52, atextdrawingarea, 0);
  470.         setBounds(i + 4, 90, 21, 2, rsinterface1);
  471.         setBounds(30016, 14, 48, 3, rsinterface1);
  472.         setBounds(l1, 74, 48, 4, rsinterface1);
  473.         setBounds(i2, 130, 48, 5, rsinterface1);
  474.         addRuneText(i + 5, i1 + 1, j, atextdrawingarea);
  475.         setBounds(i + 5, 26, 79, 6, rsinterface1);
  476.         addRuneText(i + 6, j1 + 1, k, atextdrawingarea);
  477.         setBounds(i + 6, 87, 79, 7, rsinterface1);
  478.         addRuneText(i + 7, k1 + 1, l, atextdrawingarea);
  479.         setBounds(i + 7, 142, 79, 8, rsinterface1);
  480.     }
  481.  
  482.     public static void addLunar3RunesLargeBox(int i, int j, int k, int l, int i1, int j1, int k1, int l1,
  483.             int i2, int j2, String s, String s1, TextDrawingArea atextdrawingarea[], int k2, int l2,
  484.             int i3)
  485.     {
  486.         RSInterface rsinterface = addInterface(i);
  487.         rsinterface.id = i;
  488.         rsinterface.parentID = 1151;
  489.         rsinterface.type = 5;
  490.         rsinterface.atActionType = i3;
  491.         rsinterface.anInt214 = 0;
  492.         rsinterface.anInt230 = i + 1;
  493.         rsinterface.spellUsableOn = l2;
  494.         rsinterface.selectedActionName = "Cast on";
  495.         rsinterface.width = 20;
  496.         rsinterface.height = 20;
  497.         rsinterface.tooltip = (new StringBuilder()).append("Cast @gre@").append(s).toString();
  498.         rsinterface.spellName = s;
  499.         rsinterface.anIntArray245 = new int[4];
  500.         rsinterface.anIntArray212 = new int[4];
  501.         rsinterface.anIntArray245[0] = 3;
  502.         rsinterface.anIntArray212[0] = i1;
  503.         rsinterface.anIntArray245[1] = 3;
  504.         rsinterface.anIntArray212[1] = j1;
  505.         rsinterface.anIntArray245[2] = 3;
  506.         rsinterface.anIntArray212[2] = k1;
  507.         rsinterface.anIntArray245[3] = 3;
  508.         rsinterface.anIntArray212[3] = j2;
  509.         rsinterface.valueIndexArray = new int[4][];
  510.         rsinterface.valueIndexArray[0] = new int[4];
  511.         rsinterface.valueIndexArray[0][0] = 4;
  512.         rsinterface.valueIndexArray[0][1] = 3214;
  513.         rsinterface.valueIndexArray[0][2] = j;
  514.         rsinterface.valueIndexArray[0][3] = 0;
  515.         rsinterface.valueIndexArray[1] = new int[4];
  516.         rsinterface.valueIndexArray[1][0] = 4;
  517.         rsinterface.valueIndexArray[1][1] = 3214;
  518.         rsinterface.valueIndexArray[1][2] = k;
  519.         rsinterface.valueIndexArray[1][3] = 0;
  520.         rsinterface.valueIndexArray[2] = new int[4];
  521.         rsinterface.valueIndexArray[2][0] = 4;
  522.         rsinterface.valueIndexArray[2][1] = 3214;
  523.         rsinterface.valueIndexArray[2][2] = l;
  524.         rsinterface.valueIndexArray[2][3] = 0;
  525.         rsinterface.valueIndexArray[3] = new int[3];
  526.         rsinterface.valueIndexArray[3][0] = 1;
  527.         rsinterface.valueIndexArray[3][1] = 6;
  528.         rsinterface.valueIndexArray[3][2] = 0;
  529.         rsinterface.sprite2 = LoadSprite(k2, "Lunar/LUNARON");
  530.         rsinterface.sprite1 = LoadSprite(k2, "Lunar/LUNAROFF");
  531.         RSInterface rsinterface1 = addInterface(i + 1);
  532.         rsinterface1.aBoolean266 = true;
  533.         rsinterface1.anInt230 = -1;
  534.         setChildren(9, rsinterface1);
  535.         addLunarSprite(i + 2, 2, "Lunar/BOX");
  536.         setBounds(i + 2, 0, 0, 0, rsinterface1);
  537.         addText(i + 3, (new StringBuilder()).append("Level ").append(j2 + 1).append(": ").append(s).toString(), 0xff981f, true, true, 52, atextdrawingarea, 1);
  538.         setBounds(i + 3, 90, 4, 1, rsinterface1);
  539.         addText(i + 4, s1, 0xaf6a1a, true, true, 52, atextdrawingarea, 0);
  540.         setBounds(i + 4, 90, 34, 2, rsinterface1);
  541.         setBounds(30016, 14, 61, 3, rsinterface1);
  542.         setBounds(l1, 74, 61, 4, rsinterface1);
  543.         setBounds(i2, 130, 61, 5, rsinterface1);
  544.         addRuneText(i + 5, i1 + 1, j, atextdrawingarea);
  545.         setBounds(i + 5, 26, 92, 6, rsinterface1);
  546.         addRuneText(i + 6, j1 + 1, k, atextdrawingarea);
  547.         setBounds(i + 6, 87, 92, 7, rsinterface1);
  548.         addRuneText(i + 7, k1 + 1, l, atextdrawingarea);
  549.         setBounds(i + 7, 142, 92, 8, rsinterface1);
  550.     }
  551.  
  552.     public static void setBounds(int i, int j, int k, int l, RSInterface rsinterface)
  553.     {
  554.         rsinterface.children[l] = i;
  555.         rsinterface.childX[l] = j;
  556.         rsinterface.childY[l] = k;
  557.     }
  558.  
  559.     public static void addText(int i, String s, int j, boolean flag, boolean flag1, int k, TextDrawingArea atextdrawingarea[], int l)
  560.     {
  561.         RSInterface rsinterface = addInterface(i);
  562.         rsinterface.parentID = i;
  563.         rsinterface.id = i;
  564.         rsinterface.type = 4;
  565.         rsinterface.atActionType = 0;
  566.         rsinterface.width = 0;
  567.         rsinterface.height = 0;
  568.         rsinterface.anInt214 = 0;
  569.         rsinterface.aByte254 = 0;
  570.         rsinterface.anInt230 = k;
  571.         rsinterface.aBoolean223 = flag;
  572.         rsinterface.aBoolean268 = flag1;
  573.         rsinterface.textDrawingAreas = atextdrawingarea[l];
  574.         rsinterface.message = s;
  575.         rsinterface.aString228 = "";
  576.         rsinterface.textColor = j;
  577.     }
  578.  
  579.     public static void setChildren(int i, RSInterface rsinterface)
  580.     {
  581.         rsinterface.children = new int[i];
  582.         rsinterface.childX = new int[i];
  583.         rsinterface.childY = new int[i];
  584.     }
  585.  
  586.     public static RSInterface addInterface(int i)
  587.     {
  588.         RSInterface rsinterface = interfaceCache[i] = new RSInterface();
  589.         rsinterface.id = i;
  590.         rsinterface.parentID = i;
  591.         rsinterface.width = 512;
  592.         rsinterface.height = 334;
  593.         return rsinterface;
  594.     }
  595.  
  596.     public static Sprite customSprite(String s)
  597.     {
  598.         Sprite sprite;
  599.         try
  600.         {
  601.             sprite = new Sprite(s);
  602.         }
  603.         catch(Exception exception)
  604.         {
  605.             return null;
  606.         }
  607.         return sprite;
  608.     }
  609.  
  610.     public static void unpack(StreamLoader streamloader, TextDrawingArea atextdrawingarea[], StreamLoader streamloader1)
  611.     {
  612.         aMRUNodes_238 = new MRUNodes(50000);
  613.         Stream stream = new Stream(streamloader.getDataForName("data"));
  614.         int i = -1;
  615.         int j = stream.readUnsignedWord();
  616.         interfaceCache = new RSInterface[j + 30000];
  617.         do
  618.         {
  619.             if(stream.currentOffset >= stream.buffer.length)
  620.             {
  621.                 break;
  622.             }
  623.             int k = stream.readUnsignedWord();
  624.             if(k == 65535)
  625.             {
  626.                 i = stream.readUnsignedWord();
  627.                 k = stream.readUnsignedWord();
  628.             }
  629.             RSInterface rsinterface = interfaceCache[k] = new RSInterface();
  630.             rsinterface.id = k;
  631.             rsinterface.parentID = i;
  632.             rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.parentID = ").append(rsinterface.parentID).toString());
  633.             rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.id = ").append(rsinterface.id).toString());
  634.             rsinterface.type = stream.readUnsignedByte();
  635.             rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.type = ").append(rsinterface.type).toString());
  636.             rsinterface.atActionType = stream.readUnsignedByte();
  637.             rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.atActionType = ").append(rsinterface.atActionType).toString());
  638.             rsinterface.anInt214 = stream.readUnsignedWord();
  639.             rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anInt214 = ").append(rsinterface.anInt214).toString());
  640.             rsinterface.width = stream.readUnsignedWord();
  641.             rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.width = ").append(rsinterface.width).toString());
  642.             rsinterface.height = stream.readUnsignedWord();
  643.             rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.height = ").append(rsinterface.height).toString());
  644.             rsinterface.aByte254 = (byte)stream.readUnsignedByte();
  645.             rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.aByte254 = ").append(rsinterface.aByte254).toString());
  646.             rsinterface.anInt230 = stream.readUnsignedByte();
  647.             rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anInt230 = ").append(rsinterface.anInt230).toString());
  648.             if(rsinterface.anInt230 != 0)
  649.             {
  650.                 rsinterface.anInt230 = (rsinterface.anInt230 - 1 << 8) + stream.readUnsignedByte();
  651.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anInt230 = ").append(rsinterface.anInt230).toString());
  652.             } else
  653.             {
  654.                 rsinterface.anInt230 = -1;
  655.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anInt230 = ").append(rsinterface.anInt230).toString());
  656.             }
  657.             int l = stream.readUnsignedByte();
  658.             if(l > 0)
  659.             {
  660.                 rsinterface.anIntArray245 = new int[l];
  661.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anIntArray245 = new int[").append(l).append("]").toString());
  662.                 rsinterface.anIntArray212 = new int[l];
  663.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anIntArray212 = new int[").append(l).append("]").toString());
  664.                 for(int i1 = 0; i1 < l; i1++)
  665.                 {
  666.                     rsinterface.anIntArray245[i1] = stream.readUnsignedByte();
  667.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anIntArray245[").append(i1).append("] = ").append(rsinterface.anIntArray245[i1]).toString());
  668.                     rsinterface.anIntArray212[i1] = stream.readUnsignedWord();
  669.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anIntArray212[").append(i1).append("] = ").append(rsinterface.anIntArray212[i1]).toString());
  670.                 }
  671.  
  672.             }
  673.             int j1 = stream.readUnsignedByte();
  674.             if(j1 > 0)
  675.             {
  676.                 rsinterface.valueIndexArray = new int[j1][];
  677.                 for(int k1 = 0; k1 < j1; k1++)
  678.                 {
  679.                     int j3 = stream.readUnsignedWord();
  680.                     rsinterface.valueIndexArray[k1] = new int[j3];
  681.                     for(int l4 = 0; l4 < j3; l4++)
  682.                     {
  683.                         rsinterface.valueIndexArray[k1][l4] = stream.readUnsignedWord();
  684.                         rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.valueIndexArray[").append(k1).append("][").append(l4).append("] = ").append(rsinterface.valueIndexArray[k1][l4]).toString());
  685.                     }
  686.  
  687.                 }
  688.  
  689.             }
  690.             if(rsinterface.type == 0)
  691.             {
  692.                 rsinterface.scrollMax = stream.readUnsignedWord();
  693.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.scrollMax = ").append(rsinterface.scrollMax).toString());
  694.                 rsinterface.aBoolean266 = stream.readUnsignedByte() == 1;
  695.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.aBoolean266 = ").append(rsinterface.aBoolean266).toString());
  696.                 int l1 = stream.readUnsignedWord();
  697.                 rsinterface.children = new int[l1];
  698.                 rsinterface.childX = new int[l1];
  699.                 rsinterface.childY = new int[l1];
  700.                 if(rsinterface.id == 5608)
  701.                 {
  702.                     rsinterface.children = new int[67];
  703.                     rsinterface.childX = new int[67];
  704.                     rsinterface.childY = new int[67];
  705.                     rsinterface.children[61] = 18840;
  706.                     rsinterface.childX[61] = 102;
  707.                     rsinterface.childY[61] = 152;
  708.                     rsinterface.children[62] = 18846;
  709.                     rsinterface.childX[62] = 143;
  710.                     rsinterface.childY[62] = 152;
  711.                     rsinterface.children[63] = 18843;
  712.                     rsinterface.childX[63] = 109;
  713.                     rsinterface.childY[63] = 155;
  714.                     rsinterface.children[64] = 18841;
  715.                     rsinterface.childX[64] = 5;
  716.                     rsinterface.childY[64] = 184;
  717.                     rsinterface.children[65] = 18850;
  718.                     rsinterface.childX[65] = 145;
  719.                     rsinterface.childY[65] = 163;
  720.                     rsinterface.children[66] = 18848;
  721.                     rsinterface.childX[66] = 5;
  722.                     rsinterface.childY[66] = 184;
  723.                 }
  724.                 for(int k3 = 0; k3 < l1; k3++)
  725.                 {
  726.                     rsinterface.children[k3] = stream.readUnsignedWord();
  727.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.children[").append(k3).append("] = ").append(rsinterface.children[k3]).toString());
  728.                     rsinterface.childX[k3] = stream.readSignedWord();
  729.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.childX[").append(k3).append("] = ").append(rsinterface.childX[k3]).toString());
  730.                     rsinterface.childY[k3] = stream.readSignedWord();
  731.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.childY[").append(k3).append("] = ").append(rsinterface.childY[k3]).toString());
  732.                 }
  733.  
  734.             }
  735.             if(rsinterface.type == 1)
  736.             {
  737.                 stream.readUnsignedWord();
  738.                 stream.readUnsignedByte();
  739.             }
  740.             if(rsinterface.type == 2)
  741.             {
  742.                 rsinterface.inv = new int[rsinterface.width * rsinterface.height];
  743.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.inv = new int[").append(rsinterface.width * rsinterface.height).append("]").toString());
  744.                 rsinterface.invStackSizes = new int[rsinterface.width * rsinterface.height];
  745.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.invStackSizes = new int[").append(rsinterface.width * rsinterface.height).append("]").toString());
  746.                 rsinterface.aBoolean259 = stream.readUnsignedByte() == 1;
  747.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.aBoolean259 = ").append(rsinterface.aBoolean259).toString());
  748.                 rsinterface.isInventoryInterface = stream.readUnsignedByte() == 1;
  749.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.isInventoryInterface = ").append(rsinterface.isInventoryInterface).toString());
  750.                 rsinterface.usableItemInterface = stream.readUnsignedByte() == 1;
  751.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.usableItemInterface = ").append(rsinterface.usableItemInterface).toString());
  752.                 rsinterface.aBoolean235 = stream.readUnsignedByte() == 1;
  753.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.aBoolean235 = ").append(rsinterface.aBoolean235).toString());
  754.                 rsinterface.invSpritePadX = stream.readUnsignedByte();
  755.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.invSpritePadX = ").append(rsinterface.invSpritePadX).toString());
  756.                 rsinterface.invSpritePadY = stream.readUnsignedByte();
  757.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.invSpritePadY = ").append(rsinterface.invSpritePadY).toString());
  758.                 rsinterface.spritesX = new int[20];
  759.                 rsinterface.spritesY = new int[20];
  760.                 rsinterface.sprites = new Sprite[20];
  761.                 for(int i2 = 0; i2 < 20; i2++)
  762.                 {
  763.                     int l3 = stream.readUnsignedByte();
  764.                     if(l3 != 1)
  765.                     {
  766.                         continue;
  767.                     }
  768.                     rsinterface.spritesX[i2] = stream.readSignedWord();
  769.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.spritesX[").append(i2).append("] = ").append(rsinterface.spritesX[i2]).toString());
  770.                     rsinterface.spritesY[i2] = stream.readSignedWord();
  771.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.spritesY[").append(i2).append("] = ").append(rsinterface.spritesY[i2]).toString());
  772.                     String s1 = stream.readString();
  773.                     if(streamloader1 != null && s1.length() > 0)
  774.                     {
  775.                         int i5 = s1.lastIndexOf(",");
  776.                         rsinterface.sprites[i2] = method207(Integer.parseInt(s1.substring(i5 + 1)), streamloader1, s1.substring(0, i5));
  777.                         rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.sprites[").append(i2).append("] = ").append(rsinterface.sprites[i2]).toString());
  778.                     }
  779.                 }
  780.  
  781.                 rsinterface.actions = new String[5];
  782.                 for(int j2 = 0; j2 < 5; j2++)
  783.                 {
  784.                     rsinterface.actions[j2] = stream.readString();
  785.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.actions[").append(j2).append("] = ").append(rsinterface.actions[j2]).toString());
  786.                     if(rsinterface.parentID == 3824)
  787.                     {
  788.                         rsinterface.actions[4] = "Buy 50";
  789.                     }
  790.                     if(rsinterface.actions[j2].length() == 0)
  791.                     {
  792.                         rsinterface.actions[j2] = null;
  793.                     }
  794.                 }
  795.  
  796.             }
  797.             if(rsinterface.type == 3)
  798.             {
  799.                 rsinterface.aBoolean227 = stream.readUnsignedByte() == 1;
  800.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.aBoolean227 = ").append(rsinterface.aBoolean227).toString());
  801.             }
  802.             if(rsinterface.type == 4 || rsinterface.type == 1)
  803.             {
  804.                 rsinterface.aBoolean223 = stream.readUnsignedByte() == 1;
  805.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.aBoolean223 = ").append(rsinterface.aBoolean223).toString());
  806.                 int k2 = stream.readUnsignedByte();
  807.                 if(atextdrawingarea != null)
  808.                 {
  809.                     rsinterface.textDrawingAreas = atextdrawingarea[k2];
  810.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.textDrawingAreas = textDrawingAreas[").append(k2).append("]").toString());
  811.                 }
  812.                 rsinterface.aBoolean268 = stream.readUnsignedByte() == 1;
  813.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.aBoolean268 = ").append(rsinterface.aBoolean268).toString());
  814.             }
  815.             if(rsinterface.type == 4)
  816.             {
  817.                 rsinterface.message = stream.readString();
  818.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.message = ").append(rsinterface.message).toString());
  819.                 rsinterface.aString228 = stream.readString();
  820.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.aString228 = ").append(rsinterface.aString228).toString());
  821.             }
  822.             if(rsinterface.type == 1 || rsinterface.type == 3 || rsinterface.type == 4)
  823.             {
  824.                 rsinterface.textColor = stream.readDWord();
  825.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.textColor = ").append(rsinterface.textColor).toString());
  826.             }
  827.             if(rsinterface.type == 3 || rsinterface.type == 4)
  828.             {
  829.                 rsinterface.anInt219 = stream.readDWord();
  830.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anInt219 = ").append(rsinterface.anInt219).toString());
  831.                 rsinterface.anInt216 = stream.readDWord();
  832.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anInt216 = ").append(rsinterface.anInt216).toString());
  833.                 rsinterface.anInt239 = stream.readDWord();
  834.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anInt239 = ").append(rsinterface.anInt239).toString());
  835.             }
  836.             if(rsinterface.type == 5)
  837.             {
  838.                 String s = stream.readString();
  839.                 if(streamloader1 != null && s.length() > 0)
  840.                 {
  841.                     int i4 = s.lastIndexOf(",");
  842.                     rsinterface.sprite1 = method207(Integer.parseInt(s.substring(i4 + 1)), streamloader1, s.substring(0, i4));
  843.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.sprite1 = ").append(s).toString());
  844.                 }
  845.                 s = stream.readString();
  846.                 if(streamloader1 != null && s.length() > 0)
  847.                 {
  848.                     int j4 = s.lastIndexOf(",");
  849.                     rsinterface.sprite2 = method207(Integer.parseInt(s.substring(j4 + 1)), streamloader1, s.substring(0, j4));
  850.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.sprite2 = ").append(s).toString());
  851.                 }
  852.             }
  853.             if(rsinterface.type == 6)
  854.             {
  855.                 int l2 = stream.readUnsignedByte();
  856.                 if(l2 != 0)
  857.                 {
  858.                     rsinterface.anInt233 = 1;
  859.                     rsinterface.mediaID = (l2 - 1 << 8) + stream.readUnsignedByte();
  860.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.mediaID = ").append(rsinterface.mediaID).toString());
  861.                 }
  862.                 l2 = stream.readUnsignedByte();
  863.                 if(l2 != 0)
  864.                 {
  865.                     rsinterface.anInt255 = 1;
  866.                     rsinterface.printData(rsinterface.parentID, "rsInterface.anInt255 = 1");
  867.                     rsinterface.anInt256 = (l2 - 1 << 8) + stream.readUnsignedByte();
  868.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anInt256 = ").append(rsinterface.anInt256).toString());
  869.                 }
  870.                 l2 = stream.readUnsignedByte();
  871.                 if(l2 != 0)
  872.                 {
  873.                     rsinterface.anInt257 = (l2 - 1 << 8) + stream.readUnsignedByte();
  874.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anInt257 = ").append(rsinterface.anInt257).toString());
  875.                 } else
  876.                 {
  877.                     rsinterface.anInt257 = -1;
  878.                     rsinterface.printData(rsinterface.parentID, "rsInterface.anInt257 = -1");
  879.                 }
  880.                 l2 = stream.readUnsignedByte();
  881.                 if(l2 != 0)
  882.                 {
  883.                     rsinterface.anInt258 = (l2 - 1 << 8) + stream.readUnsignedByte();
  884.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anInt258 = ").append(rsinterface.anInt258).toString());
  885.                 } else
  886.                 {
  887.                     rsinterface.anInt258 = -1;
  888.                     rsinterface.printData(rsinterface.parentID, "rsInterface.anInt258 = -1");
  889.                 }
  890.                 rsinterface.anInt269 = stream.readUnsignedWord();
  891.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anInt269 = ").append(rsinterface.anInt269).toString());
  892.                 rsinterface.anInt270 = stream.readUnsignedWord();
  893.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anInt270 = ").append(rsinterface.anInt270).toString());
  894.                 rsinterface.anInt271 = stream.readUnsignedWord();
  895.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.anInt271 = ").append(rsinterface.anInt271).toString());
  896.             }
  897.             if(rsinterface.type == 7)
  898.             {
  899.                 rsinterface.inv = new int[rsinterface.width * rsinterface.height];
  900.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.inv = new int[").append(rsinterface.width * rsinterface.height).append("]").toString());
  901.                 rsinterface.invStackSizes = new int[rsinterface.width * rsinterface.height];
  902.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.invStackSizes = new int[").append(rsinterface.width * rsinterface.height).append("]").toString());
  903.                 rsinterface.aBoolean223 = stream.readUnsignedByte() == 1;
  904.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.aBoolean223 = ").append(rsinterface.aBoolean223).toString());
  905.                 int i3 = stream.readUnsignedByte();
  906.                 if(atextdrawingarea != null)
  907.                 {
  908.                     rsinterface.textDrawingAreas = atextdrawingarea[i3];
  909.                 }
  910.                 rsinterface.aBoolean268 = stream.readUnsignedByte() == 1;
  911.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.aBoolean268 = ").append(rsinterface.aBoolean268).toString());
  912.                 rsinterface.textColor = stream.readDWord();
  913.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.textColor = ").append(rsinterface.textColor).toString());
  914.                 rsinterface.invSpritePadX = stream.readSignedWord();
  915.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.invSpritePadX = ").append(rsinterface.invSpritePadX).toString());
  916.                 rsinterface.invSpritePadY = stream.readSignedWord();
  917.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.invSpritePadY = ").append(rsinterface.invSpritePadY).toString());
  918.                 rsinterface.isInventoryInterface = stream.readUnsignedByte() == 1;
  919.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.isInventoryInterface = ").append(rsinterface.isInventoryInterface).toString());
  920.                 rsinterface.actions = new String[5];
  921.                 for(int k4 = 0; k4 < 5; k4++)
  922.                 {
  923.                     rsinterface.actions[k4] = stream.readString();
  924.                     rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.actions[").append(k4).append("] = ").append(rsinterface.actions[k4]).toString());
  925.                     if(rsinterface.actions[k4].length() == 0)
  926.                     {
  927.                         rsinterface.actions[k4] = null;
  928.                     }
  929.                 }
  930.  
  931.             }
  932.             if(rsinterface.atActionType == 2 || rsinterface.type == 2)
  933.             {
  934.                 rsinterface.selectedActionName = stream.readString();
  935.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.selectedActionName = ").append(rsinterface.selectedActionName).toString());
  936.                 rsinterface.spellName = stream.readString();
  937.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.spellName = ").append(rsinterface.spellName).toString());
  938.                 rsinterface.spellUsableOn = stream.readUnsignedWord();
  939.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.spellUsableOn = ").append(rsinterface.spellUsableOn).toString());
  940.             }
  941.             if(rsinterface.type == 8)
  942.             {
  943.                 rsinterface.message = stream.readString();
  944.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.message = ").append(rsinterface.message).toString());
  945.             }
  946.             if(rsinterface.atActionType == 1 || rsinterface.atActionType == 4 || rsinterface.atActionType == 5 || rsinterface.atActionType == 6)
  947.             {
  948.                 rsinterface.tooltip = stream.readString();
  949.                 rsinterface.printData(rsinterface.parentID, (new StringBuilder()).append("rsInterface.tooltip = ").append(rsinterface.tooltip).toString());
  950.                 if(rsinterface.tooltip.length() == 0)
  951.                 {
  952.                     if(rsinterface.atActionType == 1)
  953.                     {
  954.                         rsinterface.tooltip = "Ok";
  955.                     }
  956.                     if(rsinterface.atActionType == 4)
  957.                     {
  958.                         rsinterface.tooltip = "Select";
  959.                     }
  960.                     if(rsinterface.atActionType == 5)
  961.                     {
  962.                         rsinterface.tooltip = "Select";
  963.                     }
  964.                     if(rsinterface.atActionType == 6)
  965.                     {
  966.                         rsinterface.tooltip = "Continue";
  967.                     }
  968.                 }
  969.             }
  970.         } while(true);
  971.         createChatTextFieldInterface(streamloader1, atextdrawingarea);
  972.         configureLunar(atextdrawingarea);
  973.         constructLunar();
  974.     }
  975.  
  976.     public static void createChatTextFieldInterface(StreamLoader streamloader, TextDrawingArea atextdrawingarea[])
  977.     {
  978.         String s = "";
  979.         boolean flag = false;
  980.         for(int i = 18865; i < 19065; i++)
  981.         {
  982.             RSInterface rsinterface = interfaceCache[i] = new RSInterface();
  983.             rsinterface.id = i;
  984.             rsinterface.parentID = 18856;
  985.             rsinterface.type = 4;
  986.             rsinterface.atActionType = 0;
  987.             rsinterface.width = 100;
  988.             rsinterface.height = 14;
  989.             rsinterface.aBoolean223 = false;
  990.             rsinterface.textDrawingAreas = atextdrawingarea[1];
  991.             rsinterface.aBoolean268 = true;
  992.             rsinterface.message = "";
  993.             rsinterface.textColor = 0xffffff;
  994.             i++;
  995.             rsinterface = interfaceCache[i] = new RSInterface();
  996.             rsinterface.id = i;
  997.             rsinterface.parentID = 18856;
  998.             rsinterface.type = 4;
  999.             rsinterface.atActionType = 0;
  1000.             rsinterface.width = 100;
  1001.             rsinterface.height = 14;
  1002.             rsinterface.aBoolean223 = false;
  1003.             rsinterface.textDrawingAreas = atextdrawingarea[1];
  1004.             rsinterface.aBoolean268 = true;
  1005.             rsinterface.message = "";
  1006.             rsinterface.textColor = 0x80ff00;
  1007.         }
  1008.  
  1009.     }
  1010.  
  1011.     private Model method206(int i, int j)
  1012.     {
  1013.         Model model = (Model)aMRUNodes_264.insertFromCache((i << 16) + j);
  1014.         if(model != null)
  1015.         {
  1016.             return model;
  1017.         }
  1018.         if(i == 1)
  1019.         {
  1020.             model = Model.method462(j);
  1021.         }
  1022.         if(i == 2)
  1023.         {
  1024.             model = EntityDef.forID(j).method160();
  1025.         }
  1026.         if(i == 3)
  1027.         {
  1028.             model = client.myPlayer.method453();
  1029.         }
  1030.         if(i == 4)
  1031.         {
  1032.             model = ItemDef.forID(j).method202(50);
  1033.         }
  1034.         if(i == 5)
  1035.         {
  1036.             model = null;
  1037.         }
  1038.         if(model != null)
  1039.         {
  1040.             aMRUNodes_264.removeFromCache(model, (i << 16) + j);
  1041.         }
  1042.         return model;
  1043.     }
  1044.  
  1045.     public static Sprite method207(int i, StreamLoader streamloader, String s)
  1046.     {
  1047.         long l = (TextClass.method585(s) << 8) + (long)i;
  1048.         Sprite sprite = (Sprite)aMRUNodes_238.insertFromCache(l);
  1049.         if(sprite != null)
  1050.         {
  1051.             return sprite;
  1052.         }
  1053.         try
  1054.         {
  1055.             sprite = new Sprite(streamloader, s, i);
  1056.             aMRUNodes_238.removeFromCache(sprite, l);
  1057.         }
  1058.         catch(Exception exception)
  1059.         {
  1060.             return null;
  1061.         }
  1062.         return sprite;
  1063.     }
  1064.  
  1065.     public static void method208(boolean flag, Model model)
  1066.     {
  1067.         int i = 0;
  1068.         byte byte0 = 5;
  1069.         if(flag)
  1070.         {
  1071.             return;
  1072.         }
  1073.         aMRUNodes_264.unlinkAll();
  1074.         if(model != null && byte0 != 4)
  1075.         {
  1076.             aMRUNodes_264.removeFromCache(model, (byte0 << 16) + i);
  1077.         }
  1078.     }
  1079.  
  1080.     public Model method209(int i, int j, boolean flag)
  1081.     {
  1082.         Model model;
  1083.         if(flag)
  1084.         {
  1085.             model = method206(anInt255, anInt256);
  1086.         } else
  1087.         {
  1088.             model = method206(anInt233, mediaID);
  1089.         }
  1090.         if(model == null)
  1091.         {
  1092.             return null;
  1093.         }
  1094.         if(j == -1 && i == -1 && model.anIntArray1640 == null)
  1095.         {
  1096.             return model;
  1097.         }
  1098.         Model model1 = new Model(true, Class36.method532(j) & Class36.method532(i), false, model);
  1099.         if(j != -1 || i != -1)
  1100.         {
  1101.             model1.method469();
  1102.         }
  1103.         if(j != -1)
  1104.         {
  1105.             model1.method470(j);
  1106.         }
  1107.         if(i != -1)
  1108.         {
  1109.             model1.method470(i);
  1110.         }
  1111.         model1.method479(64, 768, -50, -10, -50, true);
  1112.         return model1;
  1113.     }
  1114.  
  1115.     public RSInterface()
  1116.     {
  1117.     }
  1118.  
  1119.     public void printData(int i, String s)
  1120.     {
  1121.         if(i != 6412);
  1122.     }
  1123.  
  1124.     public void appendText(String s)
  1125.     {
  1126.         Object obj = null;
  1127.         try
  1128.         {
  1129.             BufferedWriter bufferedwriter = new BufferedWriter(new FileWriter("./file.txt", true));
  1130.             bufferedwriter.write((new StringBuilder()).append("        ").append(s).toString());
  1131.             bufferedwriter.newLine();
  1132.             bufferedwriter.flush();
  1133.             bufferedwriter.close();
  1134.         }
  1135.         catch(IOException ioexception)
  1136.         {
  1137.             System.out.println("Critical error while writing players IP!");
  1138.         }
  1139.     }
  1140.  
  1141. }
Advertisement
Add Comment
Please, Sign In to add comment