Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.99 KB | None | 0 0
  1. import java.io.*;
  2.  
  3. public class Interface {
  4.  
  5.     public Interface() throws Exception {
  6.         DataOutputStream data = new DataOutputStream(new FileOutputStream("interfaces"));
  7.         data.writeShort(RSInterface.interfaceCache.length);
  8.         for (int i = 0; i < RSInterface.interfaceCache.length; i++) {
  9.             RSInterface inte = RSInterface.interfaceCache[i];
  10.             if (inte.parentID != -1) {
  11.                 data.writeShort(65535);
  12.                 data.writeShort(inte.parentID);
  13.                 data.writeShort(i);
  14.             } else {
  15.                 data.writeShort(i);
  16.             }
  17.             data.writeByte(inte.type);
  18.             data.writeByte(inte.atActionType);
  19.             data.writeShort(inte.contentType);
  20.             data.writeShort(inte.width);
  21.             data.writeShort(inte.height);
  22.             data.writeByte(inte.aByte254);
  23.             if (inte.mOverInterToTrigger != -1) {
  24.                 writeShort2(data, inte.mOverInterToTrigger);
  25.             } else {
  26.                 data.writeByte(0);
  27.             }
  28.            
  29.             if(inte.anIntArray245 != null) {
  30.                 data.writeByte(inte.anIntArray245.length);
  31.                 if (inte.anIntArray245.length > 0) {
  32.                     for (int ii = 0; ii < inte.anIntArray245.length; ii++) {
  33.                         data.writeByte(inte.anIntArray245[ii]);
  34.                         data.writeShort(inte.anIntArray212[ii]);
  35.                     }
  36.                 }
  37.             } else {
  38.                 data.writeByte(0);
  39.             }
  40.             if(inte.valueIndexArray != null) {
  41.                 data.writeByte(inte.valueIndexArray.length);
  42.                 if (inte.valueIndexArray.length > 0) {
  43.                     for (int ii = 0; ii < inte.valueIndexArray.length; ii++) {
  44.                         data.writeShort(inte.valueIndexArray[ii].length);
  45.                         for (int iii = 0; iii < inte.valueIndexArray[ii].length; iii++) {
  46.                             data.writeShort(inte.valueIndexArray[ii][iii]);
  47.                         }
  48.                     }
  49.                 }
  50.             } else {
  51.                 data.writeByte(0);
  52.             }
  53.             if (inte.type == 0) {
  54.                 data.writeShort(inte.scrollMax);
  55.                 data.writeBoolean(inte.isMouseoverTriggered);
  56.                 int childAmount = 0;
  57.                 if (inte.children != null) {
  58.                     childAmount = inte.children.length;
  59.                 }
  60.                 data.writeShort(childAmount);
  61.                 for (int ii = 0; ii < childAmount; ii++) {
  62.                     data.writeShort(inte.children[ii]);
  63.                     data.writeShort(inte.childX[ii]);
  64.                     data.writeShort(inte.childY[ii]);
  65.                 }
  66.             }
  67.             if (inte.type == 1) {
  68.                 data.writeShort(-1);
  69.                 data.writeBoolean(false);
  70.             }
  71.             if (inte.type == 2) {
  72.                 data.writeBoolean(inte.aBoolean259);
  73.                 data.writeBoolean(inte.isInventoryInterface);
  74.                 data.writeBoolean(inte.usableItemInterface);
  75.                 data.writeBoolean(inte.aBoolean235);
  76.                 data.writeByte(inte.invSpritePadX);
  77.                 data.writeByte(inte.invSpritePadY);
  78.                 for (int ii = 0; ii < 20; ii++) {
  79.                     boolean type = false;
  80.                     if (inte.sprites != null) {
  81.                         type = inte.sprites[ii] != null;
  82.                     }
  83.                     data.writeBoolean(type);
  84.                     if (type) {
  85.                         data.writeShort(inte.spritesX[ii]);
  86.                         data.writeShort(inte.spritesY[ii]);
  87.                         writeString(data, inte.sprites[ii].interfaceString);
  88.                     }
  89.                 }
  90.                 for (int ii = 0; ii < 5; ii++) {
  91.                     if (inte.actions[ii] == null) {
  92.                         writeString(data, "");
  93.                     } else {
  94.                         writeString(data, inte.actions[ii]);
  95.                     }
  96.                 }
  97.             }
  98.             if (inte.type == 3) {
  99.                 data.writeBoolean(inte.aBoolean227);
  100.             }
  101.             if (inte.type == 4 || inte.type == 1) {
  102.                 data.writeBoolean(inte.centerText);
  103.                 data.writeByte(inte.fontType);
  104.                 data.writeBoolean(inte.textShadow);
  105.             }
  106.             if (inte.type == 4) {
  107.                 writeString(data, inte.message);
  108.                 writeString(data, inte.aString228);
  109.             }
  110.             if (inte.type == 1 || inte.type == 3 || inte.type == 4) {
  111.                 writeHex(data, inte.textColor);
  112.             }
  113.             if (inte.type == 3 || inte.type == 4) {
  114.                 writeHex(data, inte.anInt219);
  115.                 writeHex(data, inte.anInt216);
  116.                 writeHex(data, inte.anInt239);
  117.             }
  118.             if (inte.type == 5) {
  119.                 String s;
  120.                 if(inte.sprite1 != null) {
  121.                     s = inte.sprite1.interfaceString;
  122.                     if (s == null || s.startsWith("null")) {
  123.                         writeString(data, "");
  124.                     } else {
  125.                         writeString(data, s);
  126.                     }
  127.                 } else {
  128.                     writeString(data, "");
  129.                 }
  130.                 if(inte.sprite2 != null) {
  131.                     s = inte.sprite2.interfaceString;
  132.                     if (s == null || s.startsWith("null")) {
  133.                         writeString(data, "");
  134.                     } else {
  135.                         writeString(data, s);
  136.                     }
  137.                 } else {
  138.                     writeString(data, "");
  139.                 }
  140.             }
  141.             if (inte.type == 6) {
  142.                 if (inte.mediaID != -1) {
  143.                     writeShort2(data, inte.mediaID);
  144.                 } else {
  145.                     data.writeByte(0);
  146.                 }
  147.                 if (inte.anInt256 != -1) {
  148.                     writeShort2(data, inte.anInt256);
  149.                 } else {
  150.                     data.writeByte(0);
  151.                 }
  152.                 if (inte.anInt257 != -1) {
  153.                     writeShort2(data, inte.anInt257);
  154.                 } else {
  155.                     data.writeByte(0);
  156.                 }
  157.                 if (inte.anInt258 != -1) {
  158.                     writeShort2(data, inte.anInt258);
  159.                 } else {
  160.                     data.writeByte(0);
  161.                 }
  162.                 data.writeShort(inte.anInt269);
  163.                 data.writeShort(inte.modelRotation1);
  164.                 data.writeShort(inte.modelRotation2);
  165.             }
  166.             if (inte.type == 7) {
  167.                 data.writeBoolean(inte.centerText);
  168.                 data.writeByte(inte.fontType);
  169.                 data.writeBoolean(inte.textShadow);
  170.                 writeHex(data, inte.textColor);
  171.                 data.writeShort(inte.invSpritePadX);
  172.                 data.writeShort(inte.invSpritePadY);
  173.                 data.writeBoolean(inte.isInventoryInterface);
  174.                 for (int ii = 0; ii < 5; ii++) {
  175.                     if (inte.actions[ii] == null) {
  176.                         writeString(data, "");
  177.                     } else {
  178.                         writeString(data, inte.actions[ii]);
  179.                     }
  180.                 }
  181.             }
  182.             if (inte.atActionType == 2 || inte.type == 2) {
  183.                 writeString(data, inte.selectedActionName);
  184.                 writeString(data, inte.spellName);
  185.                 data.writeShort(inte.spellUsableOn);
  186.             }
  187.             if (inte.atActionType == 1 || inte.atActionType == 4 || inte.atActionType == 5 || inte.atActionType == 6) {
  188.                 if (inte.tooltip.equals("Ok") || inte.tooltip.equals("Select") || inte.tooltip.equals("Continue")) {
  189.                     writeString(data, "");
  190.                 } else {
  191.                     writeString(data, inte.tooltip);
  192.                 }
  193.             }
  194.         }
  195.         data.close();
  196.     }
  197.  
  198.     private void writeShort2(DataOutputStream dos, int input) throws IOException {
  199.         dos.writeByte((input >> 8) + 1);
  200.         dos.writeByte(input);
  201.     }
  202.  
  203.     private void writeHex(DataOutputStream dos, int input) throws IOException {
  204.         dos.writeByte(input >> 24);
  205.         dos.writeByte(input >> 16);
  206.         dos.writeByte(input >> 8);
  207.         dos.writeByte(input);
  208.     }
  209.  
  210.     private void writeString(DataOutputStream dos, String input) throws IOException {
  211.         dos.write(input.getBytes());
  212.         dos.writeByte(10);
  213.     }
  214.  
  215. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement