package rs; import rs.animable.Model; import rs.config.EntityDef; import rs.config.ItemDef; import rs.graphics.Sprite; import rs.graphics.TextDrawingArea; import rs.stream.Stream; import rs.stream.StreamLoader; // Jad home page: http://www.kpdus.com/jad.html // Decompiler options: packimports(3) public final class RSInterface { public void swapInventoryItems(int i, int j) { int k = inv[i]; inv[i] = inv[j]; inv[j] = k; k = invStackSizes[i]; invStackSizes[i] = invStackSizes[j]; invStackSizes[j] = k; } public static void unpack(StreamLoader streamLoader, TextDrawingArea textDrawingAreas[], StreamLoader streamLoader_1) { aMRUNodes_238 = new MRUNodes(50000); Stream stream = new Stream(streamLoader.getDataForName("data")); int i = -1; int j = stream.readUnsignedWord(); interfaceCache = new RSInterface[j]; while (stream.currentOffset < stream.buffer.length) { int k = stream.readUnsignedWord(); if (k == 65535) { i = stream.readUnsignedWord(); k = stream.readUnsignedWord(); } RSInterface rsInterface = interfaceCache[k] = new RSInterface(); rsInterface.id = k; rsInterface.parentID = i; rsInterface.type = stream.readUnsignedByte(); rsInterface.atActionType = stream.readUnsignedByte(); rsInterface.anInt214 = stream.readUnsignedWord(); rsInterface.width = stream.readUnsignedWord(); rsInterface.height = stream.readUnsignedWord(); rsInterface.aByte254 = (byte) stream.readUnsignedByte(); rsInterface.anInt230 = stream.readUnsignedByte(); if (rsInterface.anInt230 != 0) rsInterface.anInt230 = (rsInterface.anInt230 - 1 << 8) + stream.readUnsignedByte(); else rsInterface.anInt230 = -1; int i1 = stream.readUnsignedByte(); if (i1 > 0) { rsInterface.anIntArray245 = new int[i1]; rsInterface.anIntArray212 = new int[i1]; for (int j1 = 0; j1 < i1; j1++) { rsInterface.anIntArray245[j1] = stream.readUnsignedByte(); rsInterface.anIntArray212[j1] = stream.readUnsignedWord(); } } int k1 = stream.readUnsignedByte(); if (k1 > 0) { rsInterface.scripts = new int[k1][]; for (int l1 = 0; l1 < k1; l1++) { int i3 = stream.readUnsignedWord(); rsInterface.scripts[l1] = new int[i3]; for (int l4 = 0; l4 < i3; l4++) rsInterface.scripts[l1][l4] = stream.readUnsignedWord(); } } if (rsInterface.type == 0) { rsInterface.scrollMax = stream.readUnsignedWord(); rsInterface.aBoolean266 = stream.readUnsignedByte() == 1; int i2 = stream.readUnsignedWord(); rsInterface.children = new int[i2]; rsInterface.childX = new int[i2]; rsInterface.childY = new int[i2]; for (int j3 = 0; j3 < i2; j3++) { rsInterface.children[j3] = stream.readUnsignedWord(); rsInterface.childX[j3] = stream.readSignedWord(); rsInterface.childY[j3] = stream.readSignedWord(); } } if (rsInterface.type == 1) { stream.readUnsignedWord(); stream.readUnsignedByte(); } if (rsInterface.type == 2) { rsInterface.inv = new int[rsInterface.width * rsInterface.height]; rsInterface.invStackSizes = new int[rsInterface.width * rsInterface.height]; rsInterface.aBoolean259 = stream.readUnsignedByte() == 1; rsInterface.isInventoryInterface = stream.readUnsignedByte() == 1; rsInterface.usableItemInterface = stream.readUnsignedByte() == 1; rsInterface.aBoolean235 = stream.readUnsignedByte() == 1; rsInterface.invSpritePadX = stream.readUnsignedByte(); rsInterface.invSpritePadY = stream.readUnsignedByte(); rsInterface.spritesX = new int[20]; rsInterface.spritesY = new int[20]; rsInterface.sprites = new Sprite[20]; for (int j2 = 0; j2 < 20; j2++) { int k3 = stream.readUnsignedByte(); if (k3 == 1) { rsInterface.spritesX[j2] = stream.readSignedWord(); rsInterface.spritesY[j2] = stream.readSignedWord(); String s1 = stream.readString(); if (streamLoader_1 != null && s1.length() > 0) { int i5 = s1.lastIndexOf(","); rsInterface.sprites[j2] = method207(Integer.parseInt(s1.substring(i5 + 1)), streamLoader_1, s1.substring(0, i5)); } } } rsInterface.actions = new String[5]; for (int l3 = 0; l3 < 5; l3++) { rsInterface.actions[l3] = stream.readString(); if (rsInterface.actions[l3].length() == 0) rsInterface.actions[l3] = null; } } if (rsInterface.type == 3) rsInterface.aBoolean227 = stream.readUnsignedByte() == 1; if (rsInterface.type == 4 || rsInterface.type == 1) { rsInterface.aBoolean223 = stream.readUnsignedByte() == 1; int k2 = stream.readUnsignedByte(); if (textDrawingAreas != null) rsInterface.textDrawingAreas = textDrawingAreas[k2]; rsInterface.aBoolean268 = stream.readUnsignedByte() == 1; } if (rsInterface.type == 4) { rsInterface.message = stream.readString(); rsInterface.aString228 = stream.readString(); } if (rsInterface.type == 1 || rsInterface.type == 3 || rsInterface.type == 4) rsInterface.textColor = stream.readDWord(); if (rsInterface.type == 3 || rsInterface.type == 4) { rsInterface.anInt219 = stream.readDWord(); rsInterface.anInt216 = stream.readDWord(); rsInterface.anInt239 = stream.readDWord(); } if (rsInterface.type == 5) { String s = stream.readString(); if (streamLoader_1 != null && s.length() > 0) { int i4 = s.lastIndexOf(","); rsInterface.sprite1 = method207(Integer.parseInt(s.substring(i4 + 1)), streamLoader_1, s.substring(0, i4)); } s = stream.readString(); if (streamLoader_1 != null && s.length() > 0) { int j4 = s.lastIndexOf(","); rsInterface.sprite2 = method207(Integer.parseInt(s.substring(j4 + 1)), streamLoader_1, s.substring(0, j4)); } } if (rsInterface.type == 6) { int l = stream.readUnsignedByte(); if (l != 0) { rsInterface.anInt233 = 1; rsInterface.mediaID = (l - 1 << 8) + stream.readUnsignedByte(); } l = stream.readUnsignedByte(); if (l != 0) { rsInterface.anInt255 = 1; rsInterface.anInt256 = (l - 1 << 8) + stream.readUnsignedByte(); } l = stream.readUnsignedByte(); if (l != 0) rsInterface.anInt257 = (l - 1 << 8) + stream.readUnsignedByte(); else rsInterface.anInt257 = -1; l = stream.readUnsignedByte(); if (l != 0) rsInterface.anInt258 = (l - 1 << 8) + stream.readUnsignedByte(); else rsInterface.anInt258 = -1; rsInterface.anInt269 = stream.readUnsignedWord(); rsInterface.anInt270 = stream.readUnsignedWord(); rsInterface.anInt271 = stream.readUnsignedWord(); } if (rsInterface.type == 7) { rsInterface.inv = new int[rsInterface.width * rsInterface.height]; rsInterface.invStackSizes = new int[rsInterface.width * rsInterface.height]; rsInterface.aBoolean223 = stream.readUnsignedByte() == 1; int l2 = stream.readUnsignedByte(); if (textDrawingAreas != null) rsInterface.textDrawingAreas = textDrawingAreas[l2]; rsInterface.aBoolean268 = stream.readUnsignedByte() == 1; rsInterface.textColor = stream.readDWord(); rsInterface.invSpritePadX = stream.readSignedWord(); rsInterface.invSpritePadY = stream.readSignedWord(); rsInterface.isInventoryInterface = stream.readUnsignedByte() == 1; rsInterface.actions = new String[5]; for (int k4 = 0; k4 < 5; k4++) { rsInterface.actions[k4] = stream.readString(); if (rsInterface.actions[k4].length() == 0) rsInterface.actions[k4] = null; } } if (rsInterface.atActionType == 2 || rsInterface.type == 2) { rsInterface.selectedActionName = stream.readString(); rsInterface.spellName = stream.readString(); rsInterface.spellUsableOn = stream.readUnsignedWord(); } if (rsInterface.type == 8) rsInterface.message = stream.readString(); if (rsInterface.atActionType == 1 || rsInterface.atActionType == 4 || rsInterface.atActionType == 5 || rsInterface.atActionType == 6) { rsInterface.tooltip = stream.readString(); if (rsInterface.tooltip.length() == 0) { if (rsInterface.atActionType == 1) rsInterface.tooltip = "Ok"; if (rsInterface.atActionType == 4) rsInterface.tooltip = "Select"; if (rsInterface.atActionType == 5) rsInterface.tooltip = "Select"; if (rsInterface.atActionType == 6) rsInterface.tooltip = "Continue"; } } //aryan Bot.notifyInterface(rsInterface); } aMRUNodes_238 = null; } private Model method206(int i, int j) { Model model = (Model) aMRUNodes_264.insertFromCache((i << 16) + j); if (model != null) return model; if (i == 1) model = Model.method462(j); if (i == 2) model = EntityDef.forID(j).method160(); if (i == 3) model = client.myPlayer.method453(); if (i == 4) model = ItemDef.forID(j).method202(50); if (i == 5) model = null; if (model != null) aMRUNodes_264.removeFromCache(model, (i << 16) + j); return model; } private static Sprite method207(int i, StreamLoader streamLoader, String s) { long l = (TextClass.method585(s) << 8) + (long) i; Sprite sprite = (Sprite) aMRUNodes_238.insertFromCache(l); if (sprite != null) return sprite; try { sprite = new Sprite(streamLoader, s, i); aMRUNodes_238.removeFromCache(sprite, l); } catch (Exception _ex) { return null; } return sprite; } public static void method208(boolean flag, Model model) { int i = 0;//was parameter int j = 5;//was parameter if (flag) return; aMRUNodes_264.unlinkAll(); if (model != null && j != 4) aMRUNodes_264.removeFromCache(model, (j << 16) + i); } public Model method209(int j, int k, boolean flag) { Model model; if (flag) model = method206(anInt255, anInt256); else model = method206(anInt233, mediaID); if (model == null) return null; if (k == -1 && j == -1 && model.anIntArray1640 == null) return model; Model model_1 = new Model(true, Class36.method532(k) & Class36.method532(j), false, model); if (k != -1 || j != -1) model_1.method469(); if (k != -1) model_1.method470(k); if (j != -1) model_1.method470(j); model_1.method479(64, 768, -50, -10, -50, true); return model_1; } public RSInterface() { } public Sprite sprite1; public int anInt208; public Sprite sprites[]; public static RSInterface interfaceCache[]; public int anIntArray212[]; public int anInt214; public int spritesX[]; public int anInt216; public int atActionType; public String spellName; public int anInt219; public int width; public String tooltip; public String selectedActionName; public boolean aBoolean223; public int scrollPosition; public String actions[]; public int scripts[][]; public boolean aBoolean227; public String aString228; public int anInt230; public int invSpritePadX; public int textColor; public int anInt233; public int mediaID; public boolean aBoolean235; public int parentID; public int spellUsableOn; private static MRUNodes aMRUNodes_238; public int anInt239; public int children[]; public int childX[]; public boolean usableItemInterface; public TextDrawingArea textDrawingAreas; public int invSpritePadY; public int anIntArray245[]; public int anInt246; public int spritesY[]; public String message; public boolean isInventoryInterface; public int id; public int invStackSizes[]; public int inv[]; public byte aByte254; private int anInt255; private int anInt256; public int anInt257; public int anInt258; public boolean aBoolean259; public Sprite sprite2; public int scrollMax; public int type; public int anInt263; private static final MRUNodes aMRUNodes_264 = new MRUNodes(30); public int anInt265; public boolean aBoolean266; public int height; public boolean aBoolean268; public int anInt269; public int anInt270; public int anInt271; public int childY[]; }