From 4868ccdb0f7fcb8a61a27e404b999f37903b34ea Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Sun, 5 Nov 2017 01:00:28 -0600 Subject: [PATCH] Implemented basic Rabi-Ribi overlay to include healthbars that appear in-game. More data and overlay info can be added later. --- .gitignore | 1 + sigIRCv2.jar | Bin 10198839 -> 10215390 bytes src/sig/modules/ChatLog/ChatLogMessage.java | 12 +- src/sig/modules/RabiRibi/Entity.java | 144 ++++++++++++++ src/sig/modules/RabiRibi/MemoryOffset.java | 16 +- src/sig/modules/RabiRibi/MemoryValue.java | 163 +++++++++++++++ src/sig/modules/RabiRibi/MemoryValueType.java | 7 + src/sig/modules/RabiRibi/Overlay.java | 141 +++++++++++++ src/sig/modules/RabiRibi/SmoothObject.java | 51 +++++ .../RabiRibi/SmoothObjects/EntityMarker.java | 37 ++++ .../RabiRibi/SmoothObjects/ErinaMarker.java | 23 +++ src/sig/modules/RabiRibiModule.java | 186 +++++++++++++++--- src/sig/sigIRC.java | 2 +- src/sig/utils/DebugUtils.java | 13 ++ src/sig/utils/FileUtils.java | 3 +- src/sig/utils/JavaUtils.java | 50 +++++ src/sig/utils/ReflectUtils.java | 10 + src/sig/utils/TextUtils.java | 44 +++++ 18 files changed, 865 insertions(+), 38 deletions(-) create mode 100644 src/sig/modules/RabiRibi/Entity.java create mode 100644 src/sig/modules/RabiRibi/MemoryValue.java create mode 100644 src/sig/modules/RabiRibi/MemoryValueType.java create mode 100644 src/sig/modules/RabiRibi/Overlay.java create mode 100644 src/sig/modules/RabiRibi/SmoothObject.java create mode 100644 src/sig/modules/RabiRibi/SmoothObjects/EntityMarker.java create mode 100644 src/sig/modules/RabiRibi/SmoothObjects/ErinaMarker.java create mode 100644 src/sig/utils/DebugUtils.java create mode 100644 src/sig/utils/JavaUtils.java create mode 100644 src/sig/utils/ReflectUtils.java diff --git a/.gitignore b/.gitignore index 03a74bf..3748367 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /jinput-raw.dll /jinput-raw_64.dll /jinput-wintab.dll +/memoryDump.txt diff --git a/sigIRCv2.jar b/sigIRCv2.jar index 4ce9a6e7874aff91e8c6849f6f4ea25363f0cdab..b66c69210940166e287e997d0fecdd2cd9a6325e 100644 GIT binary patch delta 90749 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 delta 75152 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 diff --git a/src/sig/modules/ChatLog/ChatLogMessage.java b/src/sig/modules/ChatLog/ChatLogMessage.java index d86bd64..b6e9feb 100644 --- a/src/sig/modules/ChatLog/ChatLogMessage.java +++ b/src/sig/modules/ChatLog/ChatLogMessage.java @@ -225,12 +225,14 @@ public class ChatLogMessage { } public static void importMessages(String...logContents) { - for (String s : logContents) { - if (s!=null) { - if (ChatLogModule.chatlogmodule.messageHistory.size()>=ChatLogModule.messageHistoryCount) { - ChatLogModule.chatlogmodule.messageHistory.remove(0).cleanup(); + if (sigIRC.chatlogmodule_enabled) { + for (String s : logContents) { + if (s!=null) { + if (ChatLogModule.chatlogmodule.messageHistory.size()>=ChatLogModule.messageHistoryCount) { + ChatLogModule.chatlogmodule.messageHistory.remove(0).cleanup(); + } + ChatLogModule.chatlogmodule.messageHistory.add(new ChatLogMessage(s)); } - ChatLogModule.chatlogmodule.messageHistory.add(new ChatLogMessage(s)); } } } diff --git a/src/sig/modules/RabiRibi/Entity.java b/src/sig/modules/RabiRibi/Entity.java new file mode 100644 index 0000000..49ab461 --- /dev/null +++ b/src/sig/modules/RabiRibi/Entity.java @@ -0,0 +1,144 @@ +package sig.modules.RabiRibi; + +import java.awt.Point; +import java.lang.reflect.Field; + +import com.sun.jna.Memory; +import com.sun.jna.Pointer; +import com.sun.jna.platform.win32.Kernel32; + +import sig.modules.RabiRibiModule; +import sig.modules.RabiRibi.SmoothObjects.EntityMarker; +import sig.utils.ReflectUtils; + +public class Entity { + int id = 0; + int uuid = 0; + int hp = 0; + int maxhp = 0; + boolean active = false; + int animation = 0; + float x = 0; + float y = 0; + RabiRibiModule parent = null; + int lastTookDamage = 0; + long pointer; + int color = 0; + public EntityMarker marker; + + public Entity(long memoryOffset, int uuid, RabiRibiModule parent) { + this.parent=parent; + pointer = memoryOffset; + this.uuid = uuid; + this.marker = new EntityMarker((int)x,(int)y,(int)x,(int)y,this,parent); + UpdateValues(); + this.active = readIntFromMemoryOffset(MemoryOffset.ENTITY_ISACTIVE, pointer)==1 && + id!=0 && id!=1 && maxhp!=0; + if (this.active) { + parent.overlay.objects.add(this.marker); + } + } + + public boolean run() { + this.active = readIntFromMemoryOffset(MemoryOffset.ENTITY_ISACTIVE, pointer)==1 && + id!=0 && id!=1 && maxhp!=0; + + if (!active) { + return false; + } + + if (readIntFromMemoryOffset(MemoryOffset.ENTITY_HP, pointer) objects = new ArrayList(); + + ErinaMarker ERINA_MARKER; + + public Overlay(RabiRibiModule parent){ + this.parent = parent; + /*this.xcoord = (int)(parent.readFloatFromErinaData(MemoryOffset.ERINA_XPOS)/1280); + this.ycoord = (int)(parent.readFloatFromErinaData(MemoryOffset.ERINA_YPOS)/720);*/ + ERINA_MARKER = new ErinaMarker(0,0,0,0,parent); + + objects.add(ERINA_MARKER); + } + + public void run() { + camera_xpos = parent.readIntFromMemory(MemoryOffset.CAMERA_XPOS); + camera_ypos = parent.readIntFromMemory(MemoryOffset.CAMERA_YPOS); + + float prev_camera_xpos = camera_xpos; + float prev_camera_ypos = camera_ypos; + xpos = parent.readFloatFromErinaData(MemoryOffset.ERINA_XPOS); + ypos = parent.readFloatFromErinaData(MemoryOffset.ERINA_YPOS); + + xspd = camera_xpos-prev_camera_xpos; + yspd = camera_ypos-prev_camera_ypos; + for (SmoothObject so : objects) { + so.run(); + } + /*int new_xcoord,new_ycoord; + + float prev_xpos = xpos; + float prev_ypos = ypos; + float prev_camera_xpos = camera_xpos; + float prev_camera_ypos = camera_ypos; + + xpos = parent.readFloatFromErinaData(MemoryOffset.ERINA_XPOS)/1280; + ypos = parent.readFloatFromErinaData(MemoryOffset.ERINA_YPOS)/720; + camera_xpos = parent.readIntFromMemory(MemoryOffset.CAMERA_XPOS); + camera_ypos = parent.readIntFromMemory(MemoryOffset.CAMERA_YPOS); + + if (Math.abs(parent.readFloatFromErinaData(MemoryOffset.ERINA_XSPEED))>0.5f) { + if ((Math.abs(prev_xpos-xpos)>0.005 && xpos%1>0.01 && xpos%1<0.99) || (Math.abs(prev_ypos-ypos)>0.005 && ypos%1>0.01 && ypos%1<0.99)) { + if (Math.abs(prev_xpos-xpos)>0.005) { + if (edgeOfScreenX) { + if (prev_camera_xpos!=camera_xpos) { + edgeOfScreenX = false; + //System.out.println("Not on edge of X screen anymore."); + } + } else { + if (prev_camera_xpos==camera_xpos) { + edgeOfScreenX = true; + //System.out.println("Now on edge of X screen."); + } + } + } + if (Math.abs(prev_ypos-ypos)>0.005) { + if (edgeOfScreenY) { + if (prev_camera_ypos!=camera_ypos) { + edgeOfScreenY = false; + //System.out.println("Not on edge of Y screen anymore."); + } + } else { + if (prev_camera_ypos==camera_ypos) { + edgeOfScreenY = true; + //System.out.println("Now on edge of Y screen."); + } + } + } + } + } + + + new_xcoord = (int)(xpos); + new_ycoord = (int)(ypos); + int xchange = (int)Math.signum(xcoord-new_xcoord); //-1 = Moving Right (Left edge), 1 = Moving Left(Right edge) + int ychange = (int)Math.signum(ycoord-new_ycoord); //-1 = Moving Down(Top edge), 1 = Moving Up (Bottom edge) + if (xchange!=0 || ychange!=0) { + //Re-orient the camera, there has been a room change. + float pct_xroom = xpos%1 + ((edgeOfScreenX)?0:0.5f); + float pct_yroom = ypos%1 + ((edgeOfScreenY)?0:0.5f); + camera_offset_x = -(pct_xroom*20); + camera_offset_y = -(pct_yroom*11.25f); + System.out.println(pct_xroom+"%,"+pct_yroom+"%. Change detected. Camera is offset by ("+camera_offset_x+","+camera_offset_y+")"); + this.xcoord = new_xcoord; + this.ycoord = new_ycoord; + camera_x = parent.readFloatFromErinaData(MemoryOffset.ERINA_XPOS) + camera_offset_x*64; + camera_y = parent.readFloatFromErinaData(MemoryOffset.ERINA_YPOS) + camera_offset_y*64; + System.out.println("Camera position is ("+camera_x+","+camera_y+")"); + starting_camera_x = camera_xpos; + starting_camera_y = camera_ypos; + }*/ + } + + public Point.Double getScreenPosition(float xpos, float ypos) { + /*float diffx = xpos-camera_x; + float diffy = ypos-camera_y; + + double screen_blocksize_x = parent.getPosition().getWidth()/20; + double screen_blocksize_y = parent.getPosition().getHeight()/11.25; + + float camera_diffx = starting_camera_x-parent.readIntFromMemory(MemoryOffset.CAMERA_XPOS); + float camera_diffy = starting_camera_y-parent.readIntFromMemory(MemoryOffset.CAMERA_YPOS); + + //System.out.println("Block size is ("+screen_blocksize_x+","+screen_blocksize_y+"). Diff is ("+diffx+","+diffy+")."); + /*System.out.println("Starting Camera: ("+starting_camera_x+","+starting_camera_y+")"); + System.out.println("Camera: ("+camera_diffx+","+camera_diffy+")"); + System.out.println("Block Coords: ("+(camera_diffx/64)+","+(camera_diffy/64)+")");*/ + + double screen_blocksize_x = parent.getPosition().getWidth()/20; + double screen_blocksize_y = parent.getPosition().getHeight()/11.25; + + return new Point.Double(((xpos-(-camera_xpos)+xspd*2)/64)*screen_blocksize_x, + ((ypos-(-camera_ypos)+yspd*2)/64)*screen_blocksize_y); + } + + public void draw(Graphics g) { + if (parent.readIntFromMemory(MemoryOffset.TRANSITION_COUNTER)<300) { + for (SmoothObject so : objects) { + so.draw(g); + } + } + } +} diff --git a/src/sig/modules/RabiRibi/SmoothObject.java b/src/sig/modules/RabiRibi/SmoothObject.java new file mode 100644 index 0000000..9c2b969 --- /dev/null +++ b/src/sig/modules/RabiRibi/SmoothObject.java @@ -0,0 +1,51 @@ +package sig.modules.RabiRibi; + +import java.awt.Graphics; +import java.awt.Point; + +import sig.modules.RabiRibiModule; + +public class SmoothObject { + protected int x,y; + int targetx,targety; + protected RabiRibiModule parent; + + public SmoothObject(int x, int y, int targetx, int targety, RabiRibiModule parent) { + this.x=x; + this.y=y; + this.targetx=targetx; + this.targety=targety; + this.parent=parent; + } + + public void setTarget(Point target) { + targetx = (int)target.getX(); + targety = (int)target.getY(); + } + + public void setTarget(Point.Double target) { + targetx = (int)target.getX(); + targety = (int)target.getY(); + } + + public Point getTarget() { + return new Point(targetx,targety); + } + + public void setPosition(Point position) { + x = (int)position.getX(); + y = (int)position.getY(); + } + + public void run() { + int xdiff = targetx-x; + int ydiff = targety-y; + x+=xdiff/1.3; + y+=ydiff/1.3; + //System.out.println("X:"+x+", Y:"+y+" TargetX:"+targetx+" TargetY:"+targety); + } + + public void draw(Graphics g) { + + } +} diff --git a/src/sig/modules/RabiRibi/SmoothObjects/EntityMarker.java b/src/sig/modules/RabiRibi/SmoothObjects/EntityMarker.java new file mode 100644 index 0000000..e0d4aaa --- /dev/null +++ b/src/sig/modules/RabiRibi/SmoothObjects/EntityMarker.java @@ -0,0 +1,37 @@ +package sig.modules.RabiRibi.SmoothObjects; + +import java.awt.Color; +import java.awt.Graphics; + +import sig.modules.RabiRibiModule; +import sig.modules.RabiRibi.Entity; +import sig.modules.RabiRibi.MemoryOffset; +import sig.modules.RabiRibi.SmoothObject; + +public class EntityMarker extends SmoothObject{ + Entity ent; + + public EntityMarker(int x, int y, int targetx, int targety, Entity ent, RabiRibiModule parent) { + super(x, y, targetx, targety, parent); + this.ent=ent; + } + + public void draw(Graphics g) { + super.draw(g); + int alphaval = (ent.getLastHitTime()>parent.readIntFromMemory(MemoryOffset.PLAYTIME)-180)?255:110; + float pct = ent.getHealth()/(float)ent.getMaxHealth(); + if (pct>=0.66) { + g.setColor(new Color(64,255,64,alphaval)); + } else + if (pct>=0.33) { + g.setColor(new Color(255,255,64,alphaval)); + } else { + g.setColor(new Color(255,64,64,alphaval)); + } + g.fillRect(x, y-56, (int)(48*pct), 16); + g.setColor(new Color(0,0,0,alphaval)); + g.drawRect(x, y-56, 48, 16); + g.setColor(Color.BLACK); + } + +} diff --git a/src/sig/modules/RabiRibi/SmoothObjects/ErinaMarker.java b/src/sig/modules/RabiRibi/SmoothObjects/ErinaMarker.java new file mode 100644 index 0000000..3f8b783 --- /dev/null +++ b/src/sig/modules/RabiRibi/SmoothObjects/ErinaMarker.java @@ -0,0 +1,23 @@ +package sig.modules.RabiRibi.SmoothObjects; + +import java.awt.Graphics; +import java.awt.Point; +import java.awt.geom.Point2D; + +import sig.modules.RabiRibiModule; +import sig.modules.RabiRibi.SmoothObject; + +public class ErinaMarker extends SmoothObject{ + + + public ErinaMarker(int x, int y, int targetx, int targety, RabiRibiModule parent) { + super(x, y, targetx, targety, parent); + } + + public void draw(Graphics g) { + super.draw(g); + Point2D.Double erina_pos = parent.overlay.getScreenPosition(parent.overlay.xpos, parent.overlay.ypos); + setTarget(new Point((int)erina_pos.getX(),(int)erina_pos.getY()-72)); + g.fillOval(x, y, 16, 16); + } +} diff --git a/src/sig/modules/RabiRibiModule.java b/src/sig/modules/RabiRibiModule.java index 593d30c..3e13558 100644 --- a/src/sig/modules/RabiRibiModule.java +++ b/src/sig/modules/RabiRibiModule.java @@ -2,8 +2,12 @@ package sig.modules; import java.awt.Color; import java.awt.Graphics; +import java.awt.event.KeyEvent; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; +import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; import com.sun.jna.Memory; @@ -14,17 +18,26 @@ import com.sun.jna.platform.win32.WinNT.HANDLE; import sig.Module; import sig.sigIRC; +import sig.modules.RabiRibi.Entity; import sig.modules.RabiRibi.MemoryOffset; import sig.modules.RabiRibi.MemoryType; +import sig.modules.RabiRibi.Overlay; import sig.modules.utils.PsapiTools; import sig.utils.DrawUtils; +import sig.utils.FileUtils; +import sig.utils.TextUtils; public class RabiRibiModule extends Module{ final int PROCESS_PERMISSIONS = WinNT.PROCESS_QUERY_INFORMATION | WinNT.PROCESS_VM_READ; boolean foundRabiRibi = false; int rabiRibiPID = -1; long rabiRibiMemOffset = 0; - HANDLE rabiribiProcess = null; + public HANDLE rabiribiProcess = null; + HashMap entities = new HashMap(); + final static int MAX_ENTITIES_TO_UPDATE = 500; + final static int ENTITY_ARRAY_ELEMENT_SIZE = 0x704; + + public Overlay overlay; public RabiRibiModule(Rectangle2D bounds, String moduleName) { super(bounds, moduleName); @@ -67,6 +80,8 @@ public class RabiRibiModule extends Module{ } catch (Exception e) { e.printStackTrace(); } + + this.overlay = new Overlay(this); } public void ApplyConfigWindowProperties() { @@ -78,68 +93,179 @@ public class RabiRibiModule extends Module{ public void run() { super.run(); + updateEntities(); + overlay.run(); + } + + public HashMap getEntities() { + return entities; } + private void updateEntities() { + + //System.out.println("Size is "+size); + List idsToRemove = new ArrayList(); + for (Integer i : entities.keySet()) { + Entity ent = entities.get(i); + if (!ent.run()) { + idsToRemove.add(i); + } + } + for (Integer i : idsToRemove) { + if (!overlay.objects.remove(entities.get(i).marker)) { + System.out.println("WARNING! Could not remove overlay EntityMarker. Possible memory leak occurring!"); + } + entities.remove(i); + } + + //System.out.println("Starting address is 0x"+Long.toHexString(readIntFromMemory(MemoryOffset.ENTITY_ARRAY))); + long arrayPtr = readIntFromMemory(MemoryOffset.ENTITY_ARRAY); + //System.out.println("Array Pointer starts at 0x"+Long.toHexString(arrayPtr)); + for (int i=0;i0.5f) { + g.setColor(Color.RED); + } + DrawUtils.drawOutlineText(g, sigIRC.panel.programFont, position.getX(), position.getY()+(i+=24), 3, g.getColor(), Color.WHITE, "XSPD "+readFloatFromErinaData(MemoryOffset.ERINA_XSPEED)); + g.setColor(Color.BLACK); + /*DrawUtils.drawOutlineText(g, sigIRC.panel.programFont, position.getX(), position.getY()+(i+=24), 3, Color.BLACK, Color.WHITE, + "Sunny Beam: "+Arrays.toString( + new int[]{ + readIntFromMemory(0xD63304), + readIntFromMemory(0xD63D0C), + })); + */ + /* + for (String s : TextUtils.WrapText(("Entities: "+entities).replaceAll(",", ", "), sigIRC.panel.programFont, position.getWidth()-20)) { + DrawUtils.drawOutlineText(g, sigIRC.panel.programFont, position.getX()+20, position.getY()+(i+=24), 3, Color.BLACK, Color.WHITE, + s); + }*/ + for (Integer numb : entities.keySet()) { + Entity ent = entities.get(numb); + if (ent.getLastHitTime()>readIntFromMemory(MemoryOffset.PLAYTIME)-180) { + for (String s : TextUtils.WrapText("Entity "+ent.getID()+": "+ent.getHealth()+"/"+ent.getMaxHealth()+" HP "+((ent.getHealth()/(float)ent.getMaxHealth())*100)+"%".replaceAll(",", ", "), sigIRC.panel.programFont, position.getWidth()-20)) { + DrawUtils.drawOutlineText(g, sigIRC.panel.programFont, position.getX()+20, position.getY()+(i+=24), 3, Color.BLACK, Color.WHITE, + s); + } + } + } + } + } + + public void keypressed(KeyEvent ev) { + super.keypressed(ev); + /*if (ev.getKeyCode()==KeyEvent.VK_HOME) { + String memFile = sigIRC.BASEDIR+"memoryDump.txt"; + FileUtils.logToFile("Memory Dump of All Loaded Entities:", memFile); + for (Integer numb : entities.keySet()) { + Entity ent = entities.get(numb); + FileUtils.logToFile(ent.toString(), memFile); + for (int i=0;i WrapText(String msg, Font font, double width) { + List displayMessage = new ArrayList(); + String rawmessage = msg; + int textWidth = (int)TextUtils.calculateStringBoundsFont(rawmessage, font).getWidth(); + int maxWidth = (int)width; + do { + rawmessage = BreakTextAtNextSection(rawmessage+" ",font,displayMessage,maxWidth); + textWidth = (int)TextUtils.calculateStringBoundsFont(rawmessage, font).getWidth(); + } while (textWidth>maxWidth); + if (rawmessage.length()>0) { + displayMessage.add(rawmessage); + } + return displayMessage; + //System.out.println(displayMessage+": "+messageDisplaySize); + } + + private static String BreakTextAtNextSection(String msg, Font font, List list, int maxWidth) { + int marker = 1; + int textWidth = (int)TextUtils.calculateStringBoundsFont(msg.substring(0, marker), font).getWidth(); + while (textWidth