From 6c5c2b1c671d6e7c80e423e91e9ecd1de4feba97 Mon Sep 17 00:00:00 2001 From: "sigonasr2, Sig, Sigo" Date: Thu, 9 Jun 2022 15:13:01 +0000 Subject: [PATCH] Include draw line function and better visuals to indicate deleting a keybind Co-authored-by: r3cp3ct <45179536+r3cp3ct@users.noreply.github.com> Co-authored-by: sigonasr2 --- bin/RabiClone.jar | Bin 258407 -> 259071 bytes src/sig/DrawLoop.java | 52 ++++++++++++++++++++++++- src/sig/engine/Object.java | 8 +++- src/sig/engine/Panel.java | 1 - src/sig/objects/ConfigureControls.java | 14 ++++++- 5 files changed, 69 insertions(+), 6 deletions(-) diff --git a/bin/RabiClone.jar b/bin/RabiClone.jar index fce7ddeba9b87e618bef17ce318108b0067f4c11..50aa3fef29aef1a711db799ea8c2a51dcdc3d872 100644 GIT binary patch delta 19139 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 ZG@=120?aR5(;s|hmSl_H4s3Wc002_a6K4Pb diff --git a/src/sig/DrawLoop.java b/src/sig/DrawLoop.java index 243268e..429ae90 100644 --- a/src/sig/DrawLoop.java +++ b/src/sig/DrawLoop.java @@ -67,8 +67,58 @@ public class DrawLoop { } } } + + public static void Draw_Line(byte[] canvas,int x1,int y1,int x2,int y2,byte col,Alpha alpha) { + int x,y,dx,dy,dx1,dy1,px,py,xe,ye; + dx=x2-x1;dy=y2-y1; + dx1=Math.abs(dx);dy1=Math.abs(dy); + px=2*dy1-dx1;py=2*dx1-dy1; + if (dy1<=dx1) { + if (dx>=0) { + x=x1;y=y1;xe=x2-1; + } else { + x=x2-1;y=y2-1;xe=x1; + } + Draw(canvas,y*RabiClone.BASE_WIDTH+x,col,alpha); + while (x0&&dy>0)) { + y=y+1; + } else { + y=y-1; + } + px=px+2*(dy1-dx1); + } + Draw(canvas,y*RabiClone.BASE_WIDTH+x,col,alpha); + } + } else { + if (dy>=0) { + x=x1;y=y1;ye=y2-1; + } else { + x=x2-1;y=y2-1;ye=y1; + } + Draw(canvas,y*RabiClone.BASE_WIDTH+x,col,alpha); + while (y0&&dy>0)) { + x=x+1; + } else { + x=x-1; + } + py=py+2*(dx1-dy1); + } + Draw(canvas,y*RabiClone.BASE_WIDTH+x,col,alpha); + } + } + } - public static void FillRect(byte[] p,byte col,double x,double y,double w,double h) { + public static void Fill_Rect(byte[] p,byte col,double x,double y,double w,double h) { for (int xx=0;xx> actionHighlightSections = new ArrayList<>(); + int storedX=-1; + int storedY=-1; + int storedEndX=-1; public ConfigureControls(Panel panel) { super(panel); @@ -87,14 +90,17 @@ public class ConfigureControls extends Object{ for (Action a : Action.values()) { if (RabiClone.MOUSE_POS.getY()>=getY()+y&&RabiClone.MOUSE_POS.getY() sectionList = actionHighlightSections.get(a.ordinal()); int startX=sectionList.get(i)*Font.PROFONT_12.getGlyphWidth()-4; int endX=sectionList.get(i+1)*Font.PROFONT_12.getGlyphWidth()+4; if (selectedKeybind==null&&RabiClone.MOUSE_POS.getY()>=getY()+y&&RabiClone.MOUSE_POS.getY()=startX&&RabiClone.MOUSE_POS.getX()<=endX) { - Draw_Rect(p,(byte)PaletteColor.AZURE.ordinal(),startX,getY()+y,endX-startX,Font.PROFONT_12.getGlyphHeight()+4); + Draw_Rect(p,PaletteColor.RED,startX,getY()+y,endX-startX,Font.PROFONT_12.getGlyphHeight()+4); + storedX=startX; + storedY=y; + storedEndX=endX; selectedKeybind=KeyBind.KEYBINDS.get(a).get(i/2); break; } @@ -102,6 +108,10 @@ public class ConfigureControls extends Object{ Draw_Text_Ext(4,getY()+y,DisplayActionKeys(a),Font.PROFONT_12,Alpha.ALPHA0,PaletteColor.MIDNIGHT_BLUE); y+=Font.PROFONT_12.getGlyphHeight()+4; } + if (selectedKeybind!=null) { + Draw_Line(p,storedX,getY()+storedY,storedEndX,getY()+storedY+Font.PROFONT_12.getGlyphHeight()+4,PaletteColor.BLACK,Alpha.ALPHA32); + Draw_Line(p,storedX,getY()+storedY+Font.PROFONT_12.getGlyphHeight()+4,storedEndX,getY()+storedY,PaletteColor.BLACK,Alpha.ALPHA32); + } } else { Draw_Text_Ext(4, 4, new StringBuilder("Press a key to assign to ").append(selectedAction), Font.PROFONT_12, Alpha.ALPHA0, PaletteColor.MIDNIGHT_BLUE); }