From bfca9611d0261845a07076e582e6fea14559bd4a Mon Sep 17 00:00:00 2001 From: "sigonasr2, Sig, Sigo" Date: Tue, 17 May 2022 19:22:36 +0000 Subject: [PATCH] Update SigScript --- scripts/md5 | 1 + src/sig/JavaProjectTemplate.java | 22 +-- src/sig/engine/Color.java | 39 +--- src/sig/engine/Edge.java | 34 +--- src/sig/engine/Panel.java | 315 +------------------------------ src/sig/engine/Point.java | 33 +--- src/sig/engine/md5 | 1 + src/sig/md5 | 1 + utils/define.sh | 1 + utils/md5 | 3 + utils/search.sh | 8 +- 11 files changed, 19 insertions(+), 439 deletions(-) create mode 100644 scripts/md5 create mode 100644 src/sig/engine/md5 create mode 100644 src/sig/md5 create mode 100644 utils/md5 diff --git a/scripts/md5 b/scripts/md5 new file mode 100644 index 0000000..42c4a60 --- /dev/null +++ b/scripts/md5 @@ -0,0 +1 @@ +1aaed43b1f90e8ca1926f79f20d836e9 - diff --git a/src/sig/JavaProjectTemplate.java b/src/sig/JavaProjectTemplate.java index ac5ae34..1becba2 100644 --- a/src/sig/JavaProjectTemplate.java +++ b/src/sig/JavaProjectTemplate.java @@ -1,21 +1 @@ -package sig; - -import javax.swing.JFrame; -import sig.engine.Panel; - -public class JavaProjectTemplate { - public static final String PROGRAM_NAME="Sig's Java Project Template"; - public static void main(String[] args) { - JFrame f = new JFrame(PROGRAM_NAME); - Panel p = new Panel(f); - - p.init(); - - f.add(p); - f.setSize(1280,720); - f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - f.setVisible(true); - - p.render(); - } -} +404: Not Found \ No newline at end of file diff --git a/src/sig/engine/Color.java b/src/sig/engine/Color.java index 3a6bde7..1becba2 100644 --- a/src/sig/engine/Color.java +++ b/src/sig/engine/Color.java @@ -1,38 +1 @@ -package sig.engine; - -public class Color { - int r,g,b,a; - - final static public Color BLACK = new Color(0,0,0); - final static public Color RED = new Color(204,0,0); - final static public Color GREEN = new Color(78,154,6); - final static public Color YELLOW = new Color(196,160,0); - final static public Color BLUE = new Color(114,159,207); - final static public Color MAGENTA = new Color(117,80,123); - final static public Color CYAN = new Color(6,152,154); - final static public Color WHITE = new Color(211,215,207); - final static public Color BRIGHT_BLACK = new Color(85,87,83); - final static public Color BRIGHT_RED = new Color(239,41,41); - final static public Color BRIGHT_GREEN = new Color(138,226,52); - final static public Color BRIGHT_YELLOW = new Color(252,233,79); - final static public Color BRIGHT_BLUE = new Color(50,175,255); - final static public Color BRIGHT_MAGENTA = new Color(173,127,168); - final static public Color BRIGHT_CYAN = new Color(52,226,226); - final static public Color BRIGHT_WHITE = new Color(255,255,255); - - public Color(int r, int g, int b) { - this(r,g,b,255); - } - - public Color(int r, int g, int b,int a) { - super(); - this.r = r; - this.g = g; - this.b = b; - this.a = a; - } - - public int getColor() { - return (a<<24)+(r<<16)+(g<<8)+b; - } -} +404: Not Found \ No newline at end of file diff --git a/src/sig/engine/Edge.java b/src/sig/engine/Edge.java index 867937e..1becba2 100644 --- a/src/sig/engine/Edge.java +++ b/src/sig/engine/Edge.java @@ -1,33 +1 @@ -package sig.engine; - -public class Edge { - Point a,b; - int min_y; - int max_y; - int min_x; - int max_x; - double x_of_min_y; - double inverse_slope; - public Edge(Point a, Point b) { - super(); - this.a = a; - this.b = b; - min_y=Math.min(a.y, b.y); - max_y=Math.max(a.y, b.y); - min_x=Math.min(a.x, b.x); - max_x=Math.max(a.x, b.x); - if (a.y==min_y) { - x_of_min_y=a.x; - } else { - x_of_min_y=b.x; - } - - inverse_slope=(double)(a.x-b.x)/(a.y-b.y); - } - @Override - public String toString() { - return "Edge [a=" + a + ", b=" + b + ", min_y=" + min_y + ", max_y=" + max_y + ", min_x=" + min_x + ", max_x=" - + max_x + ", x_of_min_y=" + x_of_min_y + ", inverse_slope=" + inverse_slope + "]"; - } - -} +404: Not Found \ No newline at end of file diff --git a/src/sig/engine/Panel.java b/src/sig/engine/Panel.java index 2f558f7..1becba2 100644 --- a/src/sig/engine/Panel.java +++ b/src/sig/engine/Panel.java @@ -1,314 +1 @@ -package sig.engine; -import java.awt.Graphics; -import java.awt.GraphicsConfiguration; -import java.awt.GraphicsEnvironment; -import java.awt.Image; -import java.awt.Toolkit; -import java.awt.image.ColorModel; -import java.awt.image.MemoryImageSource; -import java.util.ArrayList; -import java.util.List; - -import javax.swing.JFrame; -import javax.swing.JPanel; - -import sig.JavaProjectTemplate; - -public class Panel extends JPanel implements Runnable { - JFrame window; - public int pixel[]; - public int width=1280; - public int height=720; - final int CIRCLE_PRECISION=32; - final int OUTLINE_COL=Color.BRIGHT_WHITE.getColor(); - private Thread thread; - private Image imageBuffer; - private MemoryImageSource mImageProducer; - private ColorModel cm; - int scanLine=0; - int nextScanLine=0; - double x_offset=0; - double y_offset=0; - int frameCount=0; - long lastSecond=0; - int lastFrameCount=0; - - public Panel(JFrame f) { - super(true); - this.window=f; - thread = new Thread(this, "MyPanel Thread"); - } - - /** - * Get Best Color model available for current screen. - * @return color model - */ - protected static ColorModel getCompatibleColorModel(){ - GraphicsConfiguration gfx_config = GraphicsEnvironment. - getLocalGraphicsEnvironment().getDefaultScreenDevice(). - getDefaultConfiguration(); - return gfx_config.getColorModel(); - } - - /** - * Call it after been visible and after resizes. - */ - public void init(){ - cm = getCompatibleColorModel(); - int screenSize = width * height; - if(pixel == null || pixel.length < screenSize){ - pixel = new int[screenSize]; - } - if(thread.isInterrupted() || !thread.isAlive()){ - thread.start(); - } - mImageProducer = new MemoryImageSource(width, height, cm, pixel,0, width); - mImageProducer.setAnimated(true); - mImageProducer.setFullBufferUpdates(true); - imageBuffer = Toolkit.getDefaultToolkit().createImage(mImageProducer); - } - - @Override - public void paintComponent(Graphics g) { - super.paintComponent(g); - // perform draws on pixels - render(); - // ask ImageProducer to update image - mImageProducer.newPixels(); - // draw it on panel - g.drawImage(this.imageBuffer, 0, 0, this); - - - if (window!=null&&System.currentTimeMillis()-lastSecond>=1000) { - window.setTitle(JavaProjectTemplate.PROGRAM_NAME+" - FPS: "+(frameCount-lastFrameCount)); - lastFrameCount=frameCount; - lastSecond=System.currentTimeMillis(); - } - frameCount++; - } - - /** - * Overrides ImageObserver.imageUpdate. - * Always return true, assuming that imageBuffer is ready to go when called - */ - @Override - public boolean imageUpdate(Image image, int a, int b, int c, int d, int e) { - return true; - } - /** - * Do your draws in here !! - * pixel is your canvas! - */ - public /* abstract */ void render(){ - int[] p = pixel; // this avoid crash when resizing - //a=h/w - - for (int x=0;x edges_sorted = new ArrayList(); - for (int i=0;i=edges[i].min_y) { - edges_sorted.add(j,edges[i]); - inserted=true; - break; - } - } - if (!inserted) { - edges_sorted.add(edges[i]); - } - } - } - } - //System.out.println(edges_sorted); - List active_edges = new ArrayList(); - scanLine = edges_sorted.get(0).min_y-1; - nextScanLine = scanLine+1; - do { - for (int i=0;i=0) { - Draw(p,index,col.getColor()); - } - } - } - List new_active_edges = new ArrayList(); - for (int i=0;ie.x_of_min_y) { - new_active_edges.add(j,e); - inserted=true; - break; - } - } - if (!inserted) { - new_active_edges.add(e); - } - } - active_edges=new_active_edges; - GetNextScanLineEdges(edges_sorted, active_edges); - } - while (active_edges.size()>0); - } - - private void GetNextScanLineEdges(List edges_sorted, List active_edges) { - if (scanLine==nextScanLine) { - for (int i=0;iscanLine) { - nextScanLine=e.min_y; - break; - } - } - } - } - - public void Draw(int[] canvas,int index, int col) { - int alpha = col>>>24; - if (alpha==0) { - return;} - else - if (alpha==255) { - canvas[index]=col; - } else { - float ratio=alpha/255f; - int prev_col=canvas[index]; - int prev_r=(prev_col&0xFF); - int prev_g=(prev_col&0xFF00)>>>8; - int prev_b=(prev_col&0xFF0000)>>>16; - int r=(col&0xFF); - int g=(col&0xFF00)>>>8; - int b=(col&0xFF0000)>>>16; - - int new_r=(int)(ratio*r+(1-ratio)*prev_r); - int new_g=(int)(ratio*g+(1-ratio)*prev_g); - int new_b=(int)(ratio*b+(1-ratio)*prev_b); - - canvas[index]=new_r+(new_g<<8)+(new_b<<16)+(col&0xFF000000); - } - } - - @Override - public void run() { - while (true) { - // request a JPanel re-drawing - repaint(); - //System.out.println("Repaint "+frameCount++); - //try {Thread.sleep(1);} catch (InterruptedException e) {} - } - } -} \ No newline at end of file +404: Not Found \ No newline at end of file diff --git a/src/sig/engine/Point.java b/src/sig/engine/Point.java index b848018..1becba2 100644 --- a/src/sig/engine/Point.java +++ b/src/sig/engine/Point.java @@ -1,32 +1 @@ -package sig.engine; - -public class Point { - int x,y; - - public Point(int x, int y) { - super(); - this.x = x; - this.y = y; - } - - public int getX() { - return x; - } - - public void setX(int x) { - this.x = x; - } - - public int getY() { - return y; - } - - public void setY(int y) { - this.y = y; - } - - @Override - public String toString() { - return "Point(" + x + "," + y + ")"; - } -} +404: Not Found \ No newline at end of file diff --git a/src/sig/engine/md5 b/src/sig/engine/md5 new file mode 100644 index 0000000..1becba2 --- /dev/null +++ b/src/sig/engine/md5 @@ -0,0 +1 @@ +404: Not Found \ No newline at end of file diff --git a/src/sig/md5 b/src/sig/md5 new file mode 100644 index 0000000..1becba2 --- /dev/null +++ b/src/sig/md5 @@ -0,0 +1 @@ +404: Not Found \ No newline at end of file diff --git a/utils/define.sh b/utils/define.sh index 3b693db..eba9bcd 100755 --- a/utils/define.sh +++ b/utils/define.sh @@ -12,6 +12,7 @@ if [[ $(pwd) != *"SigScript" ]]; then find . -type f -name md5 -delete #Check for hashes + FILES=$(ls -d */) for f in $FILES do search $f diff --git a/utils/md5 b/utils/md5 new file mode 100644 index 0000000..08004ff --- /dev/null +++ b/utils/md5 @@ -0,0 +1,3 @@ +5e7a21b710475f173906085c01bd2205 - +548480c89fb8d6668a83ee9e534eb2dd - +03061acd7af07b0d1295509234ff99b7 - diff --git a/utils/search.sh b/utils/search.sh index a477997..668df87 100644 --- a/utils/search.sh +++ b/utils/search.sh @@ -42,7 +42,13 @@ function check() { if [ "$REDOWNLOAD" = "true" ]; then echo "++Redownload $1$g..." if [ -f "$1$g" ]; then - curl https://raw.githubusercontent.com/sigonasr2/SigScript/main/$1$g --output $1$g + #Read the 2nd line and see if it has a special directory. + CHECKLINE=$(sed -n '2{p;q;}' $1$g) + if [ "${CHECKLINE:0:1}" = "#" ]; then + curl https://raw.githubusercontent.com/sigonasr2/SigScript/main/${CHECKLINE:1}/$1$g --output $1$g + else + curl https://raw.githubusercontent.com/sigonasr2/SigScript/main/$1$g --output $1$g + fi else echo "===Could not find directory, assuming regular scripts directory exists." curl https://raw.githubusercontent.com/sigonasr2/SigScript/main/$1$g --output scripts/$g