From 6a418eb9db031f233e99394f46442c2898130bd0 Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Wed, 1 Jun 2022 17:40:14 -0500 Subject: [PATCH] Add drawing color options for sprites Co-authored-by: r3cp3ct <45179536+r3cp3ct@users.noreply.github.com> Co-authored-by: sigonasr2 --- PaletteReference.png | Bin 0 -> 38521 bytes README.md | 3 ++- sprites/Profont.gif | Bin 0 -> 1185 bytes src/sig/DrawLoop.java | 7 +++++- src/sig/engine/Object.java | 4 +++ src/sig/engine/PaletteColor.java | 37 ++++++++++++++++++++++++++++ src/sig/engine/Sprite.java | 1 + src/sig/objects/EditorRenderer.java | 3 ++- 8 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 PaletteReference.png create mode 100644 sprites/Profont.gif create mode 100644 src/sig/engine/PaletteColor.java diff --git a/PaletteReference.png b/PaletteReference.png new file mode 100644 index 0000000000000000000000000000000000000000..ce4ba4bc4a7c326b152cdacf685f28ab1c9f527f GIT binary patch literal 38521 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%0D*>I2YbWeX{8*xc>XjGX?Ou%G3!iMWic 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 5e0fba3..b29ddb7 100644 --- a/README.md +++ b/README.md @@ -27,4 +27,5 @@ The system will also use the SigScript updating system to keep files up-to-date. Configuration is modified at the top of the script file while the command list includes all included modules inside of `scripts`. Mizue (みずえ) 水恵 -Turn off inline hints: (F1, search "Preferences: Open Settings (JSON)) "editor.inlayHints.enabled": false \ No newline at end of file +Turn off inline hints: (F1, search "Preferences: Open Settings (JSON)) "editor.inlayHints.enabled": false +Profont: 7x14 per tile. \ No newline at end of file diff --git a/sprites/Profont.gif b/sprites/Profont.gif new file mode 100644 index 0000000000000000000000000000000000000000..342e2d188ea8d72f9f5268a3a722ad1a3856b18a GIT binary patch literal 1185 zcmcJK`#%#10KnH>m-M;Ml~8geH1Dl*@|y0PkLNtIKFWH0R+D$LoEVA3#^kllhz%Js zqis}-uu^1`N4tqxDBO*;N2_5T=j_}cao^APx9?A1KYw3W2r>-dxU10!aEYFBeF*hv zHgZch|OyECE8bZ0%3K+=&tc$HvOw6z{{l#2cTF}X=x6=0X zQFPD8FI^cSt<$RY-aBtqe{1h%=U{QUdH8GkrUm()MP3DjLNd0LOwgxL%7aL_`@Ynw z99mu3!{X+!#ugU4wJniZ<5&7LhU#5Uq;cs!ofnH9^jDPdy8ED&gUHvM(FcJ{P6P4s zgh0^VArkUmy_xth^Fq}7%>Prs^Ge}>VpsxyU-m^auHNW=Su(vf5(3_&|3opkuGl{E zeJVQOx0@Lzo<%;7>t9>S`!+CT;OmT@AgWQvA*G3by@%l^<%noZ2Bezv;frs0T zaT}$+ck)#6f|4J1tpQI9)scf%j}V-FPg{aTTpVXNm!kPF&9-a$JW|#10oy0+*t+ff zMM}Cww!1P`J(l=aMYw#AEj2;Pfv@`PH*9uNDH#@pSuHiat{Ex}w)WUeWM|j&ab70d zRkqX&dLfMdcspJBdj0ps=`^|0{>Bn@9WOCf=LXFfMWqZh%h}`;>K|2%BVRRped`+V3qP_`5cYzwmIFg?aTk)b- z7C##@t3LhBQfRgAY{XLFE4}dQ6!dp3}n3iQv z-5ZxRQ+_KJip_>thb4Z3<0)tkWXXZ`#754X8jy_~;^dGXm7*1!jV_sA%STW3U*yM< zB7CspkNXqSB@Jspi{tHulch2u$vjZf?wqs_Rv+vZi*h_ga%)L$f0ZXAG>9X}F=hoq zTUD>hUH1ktrCBOBF5Yl#U>DLEHym0q^T3jHA8}rb7O5G032-}l;-sYBqHQ2`?%vm< z#g45A<*Mi^9;}&)tVqy^W1Co-_oz;#W;&4v OUYki4&0-D!PX7zE<)~%= literal 0 HcmV?d00001 diff --git a/src/sig/DrawLoop.java b/src/sig/DrawLoop.java index f65d981..d4d9454 100644 --- a/src/sig/DrawLoop.java +++ b/src/sig/DrawLoop.java @@ -1,6 +1,7 @@ package sig; import sig.engine.Alpha; +import sig.engine.PaletteColor; import sig.engine.Panel; import sig.engine.Sprite; @@ -49,6 +50,10 @@ public class DrawLoop { } public static void Draw_Sprite_Partial_Ext(double x, double y, double xOffset, double yOffset, double w, double h, Sprite sprite, Alpha alpha){ + Draw_Sprite_Partial_Ext(x, y, xOffset, yOffset, w, h, sprite, alpha, PaletteColor.NORMAL); + } + + public static void Draw_Sprite_Partial_Ext(double x, double y, double xOffset, double yOffset, double w, double h, Sprite sprite, Alpha alpha, PaletteColor col){ byte[] p = panel.pixel; for(int X=(int)xOffset;X<(int)(w+xOffset);X++){ for(int Y=(int)yOffset;Y<(int)(h+yOffset);Y++){ @@ -59,7 +64,7 @@ public class DrawLoop { if (index<0||index>=p.length||sprite.getBi_array()[Y*sprite.getWidth()+X]==32||p[index]==sprite.getBi_array()[Y*sprite.getWidth()+X]) { continue; } else { - Draw(p,index,sprite.getBi_array()[Y*sprite.getWidth()+X],alpha); + Draw(p,index,col==PaletteColor.NORMAL?sprite.getBi_array()[Y*sprite.getWidth()+X]:(byte)col.ordinal(),alpha); } } } diff --git a/src/sig/engine/Object.java b/src/sig/engine/Object.java index ea2bd5b..713033b 100644 --- a/src/sig/engine/Object.java +++ b/src/sig/engine/Object.java @@ -62,6 +62,10 @@ public abstract class Object implements GameEntity{ DrawLoop.Draw_Sprite_Partial_Ext(x,y,xOffset,yOffset,w,h,sprite,alpha); } + protected void Draw_Sprite_Partial_Ext(double x, double y, double xOffset, double yOffset, double w, double h, Sprite sprite, Alpha alpha, PaletteColor col){ + DrawLoop.Draw_Sprite_Partial_Ext(x,y,xOffset,yOffset,w,h,sprite,alpha,col); + } + protected boolean KeyHeld(int key) { return panel.KEYS.getOrDefault(key,false); } diff --git a/src/sig/engine/PaletteColor.java b/src/sig/engine/PaletteColor.java new file mode 100644 index 0000000..487ae26 --- /dev/null +++ b/src/sig/engine/PaletteColor.java @@ -0,0 +1,37 @@ +package sig.engine; + +public enum PaletteColor { + EMERALD, + MANTIS, + YELLOW_GREEN, + YELLOW, + PEACH, + ORANGE, + CRIMSON, + RED, + PLUM, + VIOLET, + BYZANTIUM, + DEEP_RUBY, + PUCE, + OLD_ROSE, + MELON, + LIGHT_HOT_PINK, + PERSIAN_PINK, + SKY_MAGENTA, + RAZZMIC_BERRY, + BLACK, + JAPANESE_VIOLET, + FRENCH_LILAC, + AMETHYST, + ORCHID_PINK, + WHITE, + FRESH_AIR, + SKY_BLUE, + AZURE, + SLATE_BLUE, + DARK_ORCHID, + GRAPE, + MIDNIGHT_BLUE, + NORMAL; +} diff --git a/src/sig/engine/Sprite.java b/src/sig/engine/Sprite.java index cf32be9..ad024a8 100644 --- a/src/sig/engine/Sprite.java +++ b/src/sig/engine/Sprite.java @@ -13,6 +13,7 @@ public enum Sprite{ NANA_SMALL(new File(new File("..","sprites"),"1x.gif")), TILE_SHEET(new File(new File("..","sprites"),"tiles.gif")), MAP_TILE_INFO(new File(new File("..","sprites"),"maptileinfo.gif")), + PROFONT(new File(new File("..","sprites"),"Profont.gif")), ; diff --git a/src/sig/objects/EditorRenderer.java b/src/sig/objects/EditorRenderer.java index 32b8d27..40bea5a 100644 --- a/src/sig/objects/EditorRenderer.java +++ b/src/sig/objects/EditorRenderer.java @@ -6,6 +6,7 @@ import java.awt.event.MouseEvent; import sig.RabiClone; import sig.engine.Alpha; import sig.engine.MouseScrollValue; +import sig.engine.PaletteColor; import sig.engine.Panel; import sig.engine.Sprite; import sig.map.Map; @@ -58,7 +59,7 @@ public class EditorRenderer extends LevelRenderer{ @Override public void draw(byte[] p) { super.draw(p); - Draw_Sprite(16, 16, Sprite.MAP_TILE_INFO); + Draw_Sprite_Partial_Ext(16, 16, 0, 0, 96, 96, Sprite.PROFONT, Alpha.ALPHA0, PaletteColor.SKY_BLUE); } @Override