From f25a72b75e17df1a0712d3fbab96eca5aac7bdb3 Mon Sep 17 00:00:00 2001 From: Ethan Date: Mon, 16 Dec 2019 20:47:26 -0600 Subject: [PATCH] Big fat update --- Cache/sound0.wav | Bin 9084 -> 6879 bytes Cache/sound1.wav | Bin 11069 -> 6879 bytes Cache/sound2.wav | Bin 11069 -> 6879 bytes Cache/sound3.wav | Bin 11069 -> 6879 bytes Cache/sound4.wav | Bin 9084 -> 6879 bytes src/main/java/org/rebotted/Client.java | 138 ++++++++++-------- src/main/java/org/rebotted/GameApplet.java | 2 +- src/main/java/org/rebotted/MenuAction.java | 50 +++++++ .../rebotted/cache/def/ObjectDefinition.java | 1 + src/main/java/org/rebotted/ui/BotFrame.java | 15 +- .../rebotted/ui/{ => menu}/BotMenuBar.java | 16 +- .../ui/{ => script}/ScriptController.java | 3 +- .../rebotted/ui/{ => script}/ScriptUI.java | 2 +- src/main/java/org/rebotted/util/Filter.java | 5 + src/main/resources/ScriptUI.fxml | 2 +- 15 files changed, 161 insertions(+), 73 deletions(-) create mode 100644 src/main/java/org/rebotted/MenuAction.java rename src/main/java/org/rebotted/ui/{ => menu}/BotMenuBar.java (88%) rename src/main/java/org/rebotted/ui/{ => script}/ScriptController.java (97%) rename src/main/java/org/rebotted/ui/{ => script}/ScriptUI.java (98%) create mode 100644 src/main/java/org/rebotted/util/Filter.java diff --git a/Cache/sound0.wav b/Cache/sound0.wav index c02a4dc634cec061c23223910d913074fdcf59da..80bf91c8a98eb2969a2b5bacdfa0c24c9fbe652e 100644 GIT binary patch literal 6879 zcmeH}2~btn8OO2H8I#PkQ8P)?jH42%shK1l<1~v4iVH3TlW2>ms1O%OF&Y)58quGC ztWN|%K=wse1!a?c2R973q_JbtW^Z(CTH843Vms+M=PvK@fDn^uCTacgzu!IgzH{F_ z=i45O7r44!e#pULsf)+l^{)hs8{y#KFiiYC?BSq}VGegWtn~@-sT6bgUnZKYVj8=6 z^Y>i8!9V`Z=bua6`Wt_`%3E*H*+6kNmQXgWXNenAp2TSk_x+IJ-)EQu!@kGxdl>a2 z#!uww89cufzs-cike*Lf2A}<%TmRzLKl$t?pIqbJEA*bGp^E$rV#C?C z32#pp&f)1vOmO7K_jB(Lxce@K59jWCxOXHEj>c&slb>a-8%tN=zXifcNTslpx@OMw zaQQ9X|A_0K@Rz@G^Cq8u%8fsB{VMOj!*4IqeUheHN{h%y#uCA6+wfn<3J;!}hw~Jk ze1b=u7(1E=AK<=Gj2yv;5sVzg{SWZaXdK5g@i8Vpg|iC_-0@h>8ed)wAb1bau_ULF zS4dd}bxm}f?#YrDa9hBfSvXJQnWvaMi6@++X>!9NEi`OSYnA!ASs2k46<`LTtHC?N6R=~PE|EEwbVDz)J$s|9i4QY zL5-40J4bgnXU}rx zjQrYDr#N|%t}Z$|>FA)nowhbwTWM*bxtXRW8XIY7puV2EI%;dFsiEcsC#tEgrmBjn zN-8Upa-riKS2}hKsWQqml~StdC`UCN;fSUZN;DNyY^bORO@)PMDkwlxem=Sm zb68Uzd4_Ux(Ug;eu57XmWo4l&lT1Sy8R$wU-B4N@rczVUb%;ZzQb_5m6&}tPXzyOWSYcrdsnAfqltKu(E$v~?*U`7^mvZ-R>_opib`$PgekVL2<2vZE zYZu%(?)czN4p?&_I2iulkKK}8ieN!VNNDKJojYF>goW*u?AR{(wIV1eGBPq~n{o2sv?(qwe&fcC@$m;_aUx# zS(2vaW)~NinKNg$w9K3_qgBw>=Ird;-rhca`t%M(=hUfFJG;83*f6!TQ{EL!)8fwrRAjg5^Bb95T&wH42;udk~UTTqDI2*kE( z#s1_D1!}v>$o&fk2&$`0lz)_w-VzA6l^ZO2-sA-n>1++;NY?+L`2);n3f<~T>mzT&Bja4Qhk#xLeUMWPD>0}tBn~1d3 z5m~Bp=+Jr%Uy01)lw=J*Kfjkvw44{#-#<}DRD>uAi7F6fM8Rl?`q6pSWV1l4F;#BL zSPWuJqNBC?3=CAos!Wi9R?E_E4>wSizC$8QUlxB@sEKF@R^(mrsXeM!*qR+$<51nh zH0sq6eK1yKb2io-WhL6WBV%W(_h`o0x8Vqz^S&*8u=XhBMd?n7=3lLC={C*|5eg$P zHfL+t%#jGD466-#&(k`eZp~z{4$MTc4n+RgqteU9h>X*-&-S#=#7NRqBX4caW>#AV zqSe|X8t>rPPgd8~uhU1ejf-wR0R7h~7OedY*xQs8RbPFKQD}O-iIen~)q!fHerA%A z4i1D-iHV6e;ZYT7Z_EJq8OU6Sx5qAZ^vnHb726E-YSwDnu-4kP9ob~Hbr@q)2Iep@ zP}EC5qN0q#vN_w7oposK5H=&Ti2Dpw&rrsu`0bm6c5U_(eV}@Z{HLQIA%oIy>es$8 x=&OeOV2D=_@%#`^%YVhbDTZ9iw`Riad*rJw{r2DVU3=oIdgj0K+&AF7{{UpdjHmzr literal 9084 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 literal 11069 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 literal 11069 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 literal 11069 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 literal 9084 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 2000) { action -= 2000; } @@ -5079,7 +5091,7 @@ public class Client extends GameApplet { } if (action == 337 || action == 42 || action == 792 || action == 322) { - String string = menuActionText[id]; + String string = menuActionText[index]; int indexOf = string.indexOf("@whi@"); if (indexOf != -1) { long usernameHash = StringUtils.encodeBase37(string.substring(indexOf + 5).trim()); @@ -5133,7 +5145,7 @@ public class Client extends GameApplet { } } if (action == 484 || action == 6) { - String string = menuActionText[id]; + String string = menuActionText[index]; int indexOf = string.indexOf("@whi@"); if (indexOf != -1) { string = string.substring(indexOf + 5).trim(); @@ -5756,17 +5768,17 @@ public class Client extends GameApplet { // Clicking report abuse button if (action == 606) { - String s2 = menuActionText[id]; + String s2 = menuActionText[index]; int j2 = s2.indexOf("@whi@"); if (j2 != -1) if (openInterfaceId == -1) { clearTopInterfaces(); reportAbuseInput = s2.substring(j2 + 5).trim(); canMute = false; - for (int index = 0; index < Widget.interfaceCache.length; index++) { - if (Widget.interfaceCache[index] == null || Widget.interfaceCache[index].contentType != 600) + for (int z = 0; z < Widget.interfaceCache.length; z++) { + if (Widget.interfaceCache[z] == null || Widget.interfaceCache[z].contentType != 600) continue; - reportAbuseInterfaceID = openInterfaceId = Widget.interfaceCache[index].parent; + reportAbuseInterfaceID = openInterfaceId = Widget.interfaceCache[z].parent; break; } @@ -5797,7 +5809,7 @@ public class Client extends GameApplet { // reply to private message if (action == 639) { - String text = menuActionText[id]; + String text = menuActionText[index]; int indexOf = text.indexOf("@whi@"); @@ -5997,7 +6009,6 @@ public class Client extends GameApplet { } itemSelected = 0; spellSelected = 0; - } @SuppressWarnings("unused") @@ -8233,8 +8244,7 @@ public class Client extends GameApplet { secondLoginMessage = "Error connecting to server."; } - private boolean doWalkTo(int type, int j, int k, int i1, int j1, int k1, int l1, int i2, int j2, boolean flag, - int k2) { + public boolean doWalkTo(int type, int j, int k, int i1, int j1, int k1, int l1, int i2, int j2, boolean flag, int k2) { byte byte0 = 104; byte byte1 = 104; for (int l2 = 0; l2 < byte0; l2++) { @@ -11174,14 +11184,16 @@ public class Client extends GameApplet { } private void loadAllOrbs(int xOffset) { - loadHpOrb(xOffset); - loadPrayerOrb(xOffset); - loadRunOrb(xOffset); - loadSpecialOrb(xOffset); - if (frameMode == ScreenMode.FIXED) { - SpriteCache.lookup(worldHover ? 54 : 53).drawSprite(202, 20); - } else { - SpriteCache.lookup(worldHover ? 52 : 51).drawSprite(frameWidth - 118, 154); + if(Configuration.enableOrbs) { + loadHpOrb(xOffset); + loadPrayerOrb(xOffset); + loadRunOrb(xOffset); + loadSpecialOrb(xOffset); + if (frameMode == ScreenMode.FIXED) { + SpriteCache.lookup(worldHover ? 54 : 53).drawSprite(202, 20); + } else { + SpriteCache.lookup(worldHover ? 52 : 51).drawSprite(frameWidth - 118, 154); + } } } diff --git a/src/main/java/org/rebotted/GameApplet.java b/src/main/java/org/rebotted/GameApplet.java index b8cf8be..b3b2df8 100644 --- a/src/main/java/org/rebotted/GameApplet.java +++ b/src/main/java/org/rebotted/GameApplet.java @@ -71,7 +71,7 @@ public class GameApplet extends Applet implements Runnable, MouseListener, boolean resizable, boolean full) { SwingUtilities.invokeLater(() -> { if(!resizable) { - Client.botFrame.setSize(new Dimension(774, 559)); + Client.botFrame.setSize(new Dimension(774, 567)); } Client.botFrame.setResizable(resizable); }); diff --git a/src/main/java/org/rebotted/MenuAction.java b/src/main/java/org/rebotted/MenuAction.java new file mode 100644 index 0000000..56297e3 --- /dev/null +++ b/src/main/java/org/rebotted/MenuAction.java @@ -0,0 +1,50 @@ +package org.rebotted; + +public class MenuAction { + private int hash = 0; + private String action; + private String target; + private int mouseX = 0; + private int mouseY = 0; + private int actionId; + + public MenuAction(int hash, String action, String target, int mouseX, int mouseY, int actionId) { + this.hash = hash; + this.action = action; + this.target = target; + this.mouseX = mouseX; + this.mouseY = mouseY; + this.actionId = actionId; + } + + public MenuAction(int hash, String action, String target, int actionId) { + this.hash = hash; + this.action = action; + this.target = target; + this.actionId = actionId; + } + + public int getHash() { + return hash; + } + + public String getAction() { + return action; + } + + public String getTarget() { + return target; + } + + public int getMouseX() { + return mouseX; + } + + public int getMouseY() { + return mouseY; + } + + public int getActionId() { + return actionId; + } +} diff --git a/src/main/java/org/rebotted/cache/def/ObjectDefinition.java b/src/main/java/org/rebotted/cache/def/ObjectDefinition.java index 22d2f7e..e9f6612 100644 --- a/src/main/java/org/rebotted/cache/def/ObjectDefinition.java +++ b/src/main/java/org/rebotted/cache/def/ObjectDefinition.java @@ -257,6 +257,7 @@ public final class ObjectDefinition { public static ObjectDefinition lookup(int id) { if (id > streamIndices.length) { + System.out.println("ID: "+id + " instance is larger than objects we have."); id = streamIndices.length - 1; } switch (id) { diff --git a/src/main/java/org/rebotted/ui/BotFrame.java b/src/main/java/org/rebotted/ui/BotFrame.java index 2cef653..d261d2b 100644 --- a/src/main/java/org/rebotted/ui/BotFrame.java +++ b/src/main/java/org/rebotted/ui/BotFrame.java @@ -4,20 +4,22 @@ import org.rebotted.Client; import org.rebotted.Configuration; import org.rebotted.GameApplet; import org.rebotted.script.ScriptHandler; -import org.rebotted.script.types.Script; +import org.rebotted.ui.menu.BotMenuBar; +import org.rebotted.ui.script.ScriptUI; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -public final class BotFrame extends JFrame implements ActionListener { +public final class BotFrame extends JFrame implements ActionListener { private static final long serialVersionUID = 1L; private static BotMenuBar botMenuBar; private final Client client; private final ScriptUI scriptUI; + public BotFrame(Client client, boolean resizable) { this.client = client; final GameApplet applet = client; @@ -28,6 +30,7 @@ public final class BotFrame extends JFrame implements ActionListener { add(applet, BorderLayout.CENTER); setMinimumSize(new Dimension(774, 567)); setSize(new Dimension(774, 567)); + setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); pack(); setLocationRelativeTo(getParent()); setLocationRelativeTo(getOwner()); @@ -61,9 +64,9 @@ public final class BotFrame extends JFrame implements ActionListener { public void actionPerformed(ActionEvent e) { switch (e.getActionCommand().toLowerCase()) { case "run": - if(ScriptHandler.getInstance().getScriptState() == ScriptHandler.State.STOPPED) { + if (ScriptHandler.getInstance().getScriptState() == ScriptHandler.State.STOPPED) { scriptUI.show(); - } else if(ScriptHandler.getInstance().getScriptState() == ScriptHandler.State.PAUSE) { + } else if (ScriptHandler.getInstance().getScriptState() == ScriptHandler.State.PAUSE) { ScriptHandler.getInstance().setScriptState(ScriptHandler.State.RUNNING); setRunning(); } @@ -76,6 +79,10 @@ public final class BotFrame extends JFrame implements ActionListener { setStopped(); ScriptHandler.getInstance().stop(); break; + + case "entities": + Configuration.namesAboveHeads = !Configuration.namesAboveHeads; + break; } } } \ No newline at end of file diff --git a/src/main/java/org/rebotted/ui/BotMenuBar.java b/src/main/java/org/rebotted/ui/menu/BotMenuBar.java similarity index 88% rename from src/main/java/org/rebotted/ui/BotMenuBar.java rename to src/main/java/org/rebotted/ui/menu/BotMenuBar.java index 13bceb3..7b79f67 100644 --- a/src/main/java/org/rebotted/ui/BotMenuBar.java +++ b/src/main/java/org/rebotted/ui/menu/BotMenuBar.java @@ -1,4 +1,6 @@ -package org.rebotted.ui; +package org.rebotted.ui.menu; + +import org.rebotted.ui.BotFrame; import javax.swing.*; @@ -9,9 +11,11 @@ import javax.swing.*; public class BotMenuBar extends JMenuBar { private BotFrame botUI; private static JButton startButton, pauseButton, stopButton; - private JMenu file, scripts; + private JMenu file, scripts, debugs; private JMenuItem run, pause, stop; + private JMenuItem debugEntities; + public BotMenuBar(BotFrame botUI) { this.botUI = botUI; configure(); @@ -26,6 +30,7 @@ public class BotMenuBar extends JMenuBar { file = new JMenu("File"); scripts = new JMenu("Script"); + debugs = new JMenu("Debugs"); final JMenuItem exit = new JMenuItem("Exit"); @@ -36,12 +41,18 @@ public class BotMenuBar extends JMenuBar { stop = createNewJMenuItem("Stop", false); + stop = createNewJMenuItem("Stop", false); + + debugEntities = createNewJMenuItem("Entities", true); + exit.addActionListener(botUI); scripts.add(run); scripts.add(pause); scripts.add(stop); + debugs.add(debugEntities); + file.add(exit); @@ -76,6 +87,7 @@ public class BotMenuBar extends JMenuBar { removeAll(); add(file); add(scripts); + add(debugs); add(Box.createHorizontalGlue()); add(startButton); add(pauseButton); diff --git a/src/main/java/org/rebotted/ui/ScriptController.java b/src/main/java/org/rebotted/ui/script/ScriptController.java similarity index 97% rename from src/main/java/org/rebotted/ui/ScriptController.java rename to src/main/java/org/rebotted/ui/script/ScriptController.java index 5b8dd4b..913c42d 100644 --- a/src/main/java/org/rebotted/ui/ScriptController.java +++ b/src/main/java/org/rebotted/ui/script/ScriptController.java @@ -1,4 +1,4 @@ -package org.rebotted.ui; +package org.rebotted.ui.script; import javafx.fxml.FXML; import javafx.fxml.Initializable; @@ -10,6 +10,7 @@ import org.rebotted.script.ScriptHandler; import org.rebotted.script.scriptdata.ScriptData; import org.rebotted.script.scriptdata.SkillCategory; import org.rebotted.script.types.Script; +import org.rebotted.ui.BotFrame; import java.net.URL; diff --git a/src/main/java/org/rebotted/ui/ScriptUI.java b/src/main/java/org/rebotted/ui/script/ScriptUI.java similarity index 98% rename from src/main/java/org/rebotted/ui/ScriptUI.java rename to src/main/java/org/rebotted/ui/script/ScriptUI.java index 9347df4..ba02deb 100644 --- a/src/main/java/org/rebotted/ui/ScriptUI.java +++ b/src/main/java/org/rebotted/ui/script/ScriptUI.java @@ -1,4 +1,4 @@ -package org.rebotted.ui; +package org.rebotted.ui.script; import javafx.application.Platform; import javafx.collections.FXCollections; diff --git a/src/main/java/org/rebotted/util/Filter.java b/src/main/java/org/rebotted/util/Filter.java new file mode 100644 index 0000000..5bee7f6 --- /dev/null +++ b/src/main/java/org/rebotted/util/Filter.java @@ -0,0 +1,5 @@ +package org.rebotted.util; + +public interface Filter { + boolean accept(F f); +} \ No newline at end of file diff --git a/src/main/resources/ScriptUI.fxml b/src/main/resources/ScriptUI.fxml index d0d4f27..dd4a10f 100644 --- a/src/main/resources/ScriptUI.fxml +++ b/src/main/resources/ScriptUI.fxml @@ -5,7 +5,7 @@ + fx:controller="org.rebotted.ui.script.ScriptController">