diff --git a/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Black.png b/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Black.png new file mode 100644 index 0000000..6b7bc4b Binary files /dev/null and b/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Black.png differ diff --git a/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Blue.png b/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Blue.png new file mode 100644 index 0000000..98a1626 Binary files /dev/null and b/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Blue.png differ diff --git a/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Green.png b/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Green.png new file mode 100644 index 0000000..7a60bf4 Binary files /dev/null and b/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Green.png differ diff --git a/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Pink.png b/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Pink.png new file mode 100644 index 0000000..231b221 Binary files /dev/null and b/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Pink.png differ diff --git a/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Purple.png b/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Purple.png new file mode 100644 index 0000000..ed621ac Binary files /dev/null and b/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Purple.png differ diff --git a/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-White.png b/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-White.png new file mode 100644 index 0000000..40729aa Binary files /dev/null and b/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-White.png differ diff --git a/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Yellow.png b/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Yellow.png new file mode 100644 index 0000000..6eb5fcb Binary files /dev/null and b/layers/Abdomen/Style1/CryptoCrawly_Abdomen1-Yellow.png differ diff --git a/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Blue.png b/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Blue.png new file mode 100644 index 0000000..839a26b Binary files /dev/null and b/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Blue.png differ diff --git a/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Green.png b/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Green.png new file mode 100644 index 0000000..a9bf582 Binary files /dev/null and b/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Green.png differ diff --git a/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Indigo.png b/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Indigo.png new file mode 100644 index 0000000..ffab362 Binary files /dev/null and b/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Indigo.png differ diff --git a/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Orange.png b/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Orange.png new file mode 100644 index 0000000..d2d5d6a Binary files /dev/null and b/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Orange.png differ diff --git a/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Purple.png b/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Purple.png new file mode 100644 index 0000000..0e88bf4 Binary files /dev/null and b/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Purple.png differ diff --git a/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Red.png b/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Red.png new file mode 100644 index 0000000..6bad3cc Binary files /dev/null and b/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Red.png differ diff --git a/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Yellow.png b/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Yellow.png new file mode 100644 index 0000000..593f27e Binary files /dev/null and b/layers/Abdomen/Style1/Patterns/Pattern1/CryptoCrawly_Abdomen1_Pattern1-Yellow.png differ diff --git a/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Blue.png b/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Blue.png new file mode 100644 index 0000000..565ef98 Binary files /dev/null and b/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Blue.png differ diff --git a/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Green.png b/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Green.png new file mode 100644 index 0000000..f210a7f Binary files /dev/null and b/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Green.png differ diff --git a/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Indigo.png b/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Indigo.png new file mode 100644 index 0000000..0112917 Binary files /dev/null and b/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Indigo.png differ diff --git a/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Orange.png b/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Orange.png new file mode 100644 index 0000000..4adb518 Binary files /dev/null and b/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Orange.png differ diff --git a/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Purple.png b/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Purple.png new file mode 100644 index 0000000..06dd4b5 Binary files /dev/null and b/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Purple.png differ diff --git a/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Red.png b/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Red.png new file mode 100644 index 0000000..922ce17 Binary files /dev/null and b/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Red.png differ diff --git a/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Yellow.png b/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Yellow.png new file mode 100644 index 0000000..e28f193 Binary files /dev/null and b/layers/Abdomen/Style1/Patterns/Pattern2/CryptoCrawly_Abdomen1_Pattern2-Yellow.png differ diff --git a/layers/Background/CryptoCrawly_Background-Blue.png b/layers/Background/CryptoCrawly_Background-Blue.png new file mode 100644 index 0000000..d51203e Binary files /dev/null and b/layers/Background/CryptoCrawly_Background-Blue.png differ diff --git a/layers/Background/CryptoCrawly_Background-Green.png b/layers/Background/CryptoCrawly_Background-Green.png new file mode 100644 index 0000000..7abad7e Binary files /dev/null and b/layers/Background/CryptoCrawly_Background-Green.png differ diff --git a/layers/Background/CryptoCrawly_Background-Indigo.png b/layers/Background/CryptoCrawly_Background-Indigo.png new file mode 100644 index 0000000..4735fa1 Binary files /dev/null and b/layers/Background/CryptoCrawly_Background-Indigo.png differ diff --git a/layers/Background/CryptoCrawly_Background-Orange.png b/layers/Background/CryptoCrawly_Background-Orange.png new file mode 100644 index 0000000..370f74f Binary files /dev/null and b/layers/Background/CryptoCrawly_Background-Orange.png differ diff --git a/layers/Background/CryptoCrawly_Background-Red.png b/layers/Background/CryptoCrawly_Background-Red.png new file mode 100644 index 0000000..321acf7 Binary files /dev/null and b/layers/Background/CryptoCrawly_Background-Red.png differ diff --git a/layers/Background/CryptoCrawly_Background-Violet.png b/layers/Background/CryptoCrawly_Background-Violet.png new file mode 100644 index 0000000..d655747 Binary files /dev/null and b/layers/Background/CryptoCrawly_Background-Violet.png differ diff --git a/layers/Background/CryptoCrawly_Background-Yellow.png b/layers/Background/CryptoCrawly_Background-Yellow.png new file mode 100644 index 0000000..847851c Binary files /dev/null and b/layers/Background/CryptoCrawly_Background-Yellow.png differ diff --git a/layers/Expression/CryptoCrawly_Expression-Angry.png b/layers/Expression/CryptoCrawly_Expression-Angry.png new file mode 100644 index 0000000..956d08a Binary files /dev/null and b/layers/Expression/CryptoCrawly_Expression-Angry.png differ diff --git a/layers/Expression/CryptoCrawly_Expression-Bored.png b/layers/Expression/CryptoCrawly_Expression-Bored.png new file mode 100644 index 0000000..1be722c Binary files /dev/null and b/layers/Expression/CryptoCrawly_Expression-Bored.png differ diff --git a/layers/Expression/CryptoCrawly_Expression-Dizzy.png b/layers/Expression/CryptoCrawly_Expression-Dizzy.png new file mode 100644 index 0000000..e88cf7c Binary files /dev/null and b/layers/Expression/CryptoCrawly_Expression-Dizzy.png differ diff --git a/layers/Expression/CryptoCrawly_Expression-Happy.png b/layers/Expression/CryptoCrawly_Expression-Happy.png new file mode 100644 index 0000000..d231df8 Binary files /dev/null and b/layers/Expression/CryptoCrawly_Expression-Happy.png differ diff --git a/layers/Expression/CryptoCrawly_Expression-Nervous.png b/layers/Expression/CryptoCrawly_Expression-Nervous.png new file mode 100644 index 0000000..b5ea3e1 Binary files /dev/null and b/layers/Expression/CryptoCrawly_Expression-Nervous.png differ diff --git a/layers/Expression/CryptoCrawly_Expression-Neutral.png b/layers/Expression/CryptoCrawly_Expression-Neutral.png new file mode 100644 index 0000000..a953e76 Binary files /dev/null and b/layers/Expression/CryptoCrawly_Expression-Neutral.png differ diff --git a/layers/Expression/CryptoCrawly_Expression-Tired.png b/layers/Expression/CryptoCrawly_Expression-Tired.png new file mode 100644 index 0000000..80ed104 Binary files /dev/null and b/layers/Expression/CryptoCrawly_Expression-Tired.png differ diff --git a/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Black.png b/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Black.png new file mode 100644 index 0000000..7485f0e Binary files /dev/null and b/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Black.png differ diff --git a/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Blue.png b/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Blue.png new file mode 100644 index 0000000..636e603 Binary files /dev/null and b/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Blue.png differ diff --git a/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Green.png b/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Green.png new file mode 100644 index 0000000..f0fe117 Binary files /dev/null and b/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Green.png differ diff --git a/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Pink.png b/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Pink.png new file mode 100644 index 0000000..e50c1ad Binary files /dev/null and b/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Pink.png differ diff --git a/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Purple.png b/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Purple.png new file mode 100644 index 0000000..4ecd09a Binary files /dev/null and b/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Purple.png differ diff --git a/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-White.png b/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-White.png new file mode 100644 index 0000000..ac4d45d Binary files /dev/null and b/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-White.png differ diff --git a/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Yellow.png b/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Yellow.png new file mode 100644 index 0000000..27d0077 Binary files /dev/null and b/layers/EyeLeft/Style1/CryptoCrawly_EyeLeft1-Yellow.png differ diff --git a/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Black.png b/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Black.png new file mode 100644 index 0000000..ff7d23b Binary files /dev/null and b/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Black.png differ diff --git a/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Blue.png b/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Blue.png new file mode 100644 index 0000000..4742933 Binary files /dev/null and b/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Blue.png differ diff --git a/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Green.png b/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Green.png new file mode 100644 index 0000000..9175a1d Binary files /dev/null and b/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Green.png differ diff --git a/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Pink.png b/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Pink.png new file mode 100644 index 0000000..91d39bc Binary files /dev/null and b/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Pink.png differ diff --git a/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Purple.png b/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Purple.png new file mode 100644 index 0000000..c212e0a Binary files /dev/null and b/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Purple.png differ diff --git a/layers/EyeRight/Style1/CryptoCrawly_EyeRight-White.png b/layers/EyeRight/Style1/CryptoCrawly_EyeRight-White.png new file mode 100644 index 0000000..9106268 Binary files /dev/null and b/layers/EyeRight/Style1/CryptoCrawly_EyeRight-White.png differ diff --git a/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Yellow.png b/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Yellow.png new file mode 100644 index 0000000..c9e22fc Binary files /dev/null and b/layers/EyeRight/Style1/CryptoCrawly_EyeRight-Yellow.png differ diff --git a/layers/Horn/Style1/CryptoCrawly_Horn1-Blue.png b/layers/Horn/Style1/CryptoCrawly_Horn1-Blue.png new file mode 100644 index 0000000..306371c Binary files /dev/null and b/layers/Horn/Style1/CryptoCrawly_Horn1-Blue.png differ diff --git a/layers/Horn/Style1/CryptoCrawly_Horn1-Green.png b/layers/Horn/Style1/CryptoCrawly_Horn1-Green.png new file mode 100644 index 0000000..bc5d16c Binary files /dev/null and b/layers/Horn/Style1/CryptoCrawly_Horn1-Green.png differ diff --git a/layers/Horn/Style1/CryptoCrawly_Horn1-Indigo.png b/layers/Horn/Style1/CryptoCrawly_Horn1-Indigo.png new file mode 100644 index 0000000..3f3ff95 Binary files /dev/null and b/layers/Horn/Style1/CryptoCrawly_Horn1-Indigo.png differ diff --git a/layers/Horn/Style1/CryptoCrawly_Horn1-Orange.png b/layers/Horn/Style1/CryptoCrawly_Horn1-Orange.png new file mode 100644 index 0000000..3d9d119 Binary files /dev/null and b/layers/Horn/Style1/CryptoCrawly_Horn1-Orange.png differ diff --git a/layers/Horn/Style1/CryptoCrawly_Horn1-Purple.png b/layers/Horn/Style1/CryptoCrawly_Horn1-Purple.png new file mode 100644 index 0000000..2b84292 Binary files /dev/null and b/layers/Horn/Style1/CryptoCrawly_Horn1-Purple.png differ diff --git a/layers/Horn/Style1/CryptoCrawly_Horn1-Red.png b/layers/Horn/Style1/CryptoCrawly_Horn1-Red.png new file mode 100644 index 0000000..846edf8 Binary files /dev/null and b/layers/Horn/Style1/CryptoCrawly_Horn1-Red.png differ diff --git a/layers/Horn/Style1/CryptoCrawly_Horn1-Yellow.png b/layers/Horn/Style1/CryptoCrawly_Horn1-Yellow.png new file mode 100644 index 0000000..2fc2022 Binary files /dev/null and b/layers/Horn/Style1/CryptoCrawly_Horn1-Yellow.png differ diff --git a/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Blue.png b/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Blue.png new file mode 100644 index 0000000..cc0938c Binary files /dev/null and b/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Blue.png differ diff --git a/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Green.png b/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Green.png new file mode 100644 index 0000000..9af49ea Binary files /dev/null and b/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Green.png differ diff --git a/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Indigo.png b/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Indigo.png new file mode 100644 index 0000000..792a5c1 Binary files /dev/null and b/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Indigo.png differ diff --git a/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Orange.png b/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Orange.png new file mode 100644 index 0000000..562dd52 Binary files /dev/null and b/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Orange.png differ diff --git a/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Purple.png b/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Purple.png new file mode 100644 index 0000000..515ff16 Binary files /dev/null and b/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Purple.png differ diff --git a/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Red.png b/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Red.png new file mode 100644 index 0000000..b08a5f2 Binary files /dev/null and b/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Red.png differ diff --git a/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Yellow.png b/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Yellow.png new file mode 100644 index 0000000..d8307fe Binary files /dev/null and b/layers/LegLeft/Style1/CryptoCrawly_LegLeft1-Yellow.png differ diff --git a/layers/LegRight/Style1/CryptoCrawly_LegRight1-Blue.png b/layers/LegRight/Style1/CryptoCrawly_LegRight1-Blue.png new file mode 100644 index 0000000..a3b02aa Binary files /dev/null and b/layers/LegRight/Style1/CryptoCrawly_LegRight1-Blue.png differ diff --git a/layers/LegRight/Style1/CryptoCrawly_LegRight1-Green.png b/layers/LegRight/Style1/CryptoCrawly_LegRight1-Green.png new file mode 100644 index 0000000..fda6d53 Binary files /dev/null and b/layers/LegRight/Style1/CryptoCrawly_LegRight1-Green.png differ diff --git a/layers/LegRight/Style1/CryptoCrawly_LegRight1-Indigo.png b/layers/LegRight/Style1/CryptoCrawly_LegRight1-Indigo.png new file mode 100644 index 0000000..bc1e94a Binary files /dev/null and b/layers/LegRight/Style1/CryptoCrawly_LegRight1-Indigo.png differ diff --git a/layers/LegRight/Style1/CryptoCrawly_LegRight1-Orange.png b/layers/LegRight/Style1/CryptoCrawly_LegRight1-Orange.png new file mode 100644 index 0000000..74cda68 Binary files /dev/null and b/layers/LegRight/Style1/CryptoCrawly_LegRight1-Orange.png differ diff --git a/layers/LegRight/Style1/CryptoCrawly_LegRight1-Purple.png b/layers/LegRight/Style1/CryptoCrawly_LegRight1-Purple.png new file mode 100644 index 0000000..2ce8796 Binary files /dev/null and b/layers/LegRight/Style1/CryptoCrawly_LegRight1-Purple.png differ diff --git a/layers/LegRight/Style1/CryptoCrawly_LegRight1-Red.png b/layers/LegRight/Style1/CryptoCrawly_LegRight1-Red.png new file mode 100644 index 0000000..9f2a7e7 Binary files /dev/null and b/layers/LegRight/Style1/CryptoCrawly_LegRight1-Red.png differ diff --git a/layers/LegRight/Style1/CryptoCrawly_LegRight1-Yellow.png b/layers/LegRight/Style1/CryptoCrawly_LegRight1-Yellow.png new file mode 100644 index 0000000..9b5c354 Binary files /dev/null and b/layers/LegRight/Style1/CryptoCrawly_LegRight1-Yellow.png differ diff --git a/layers/Mouth/Style1/CryptoCrawly_Mouth1-Blue.png b/layers/Mouth/Style1/CryptoCrawly_Mouth1-Blue.png new file mode 100644 index 0000000..fc407f6 Binary files /dev/null and b/layers/Mouth/Style1/CryptoCrawly_Mouth1-Blue.png differ diff --git a/layers/Mouth/Style1/CryptoCrawly_Mouth1-Green.png b/layers/Mouth/Style1/CryptoCrawly_Mouth1-Green.png new file mode 100644 index 0000000..709516c Binary files /dev/null and b/layers/Mouth/Style1/CryptoCrawly_Mouth1-Green.png differ diff --git a/layers/Mouth/Style1/CryptoCrawly_Mouth1-Indigo.png b/layers/Mouth/Style1/CryptoCrawly_Mouth1-Indigo.png new file mode 100644 index 0000000..a7152e9 Binary files /dev/null and b/layers/Mouth/Style1/CryptoCrawly_Mouth1-Indigo.png differ diff --git a/layers/Mouth/Style1/CryptoCrawly_Mouth1-Orange.png b/layers/Mouth/Style1/CryptoCrawly_Mouth1-Orange.png new file mode 100644 index 0000000..19adb76 Binary files /dev/null and b/layers/Mouth/Style1/CryptoCrawly_Mouth1-Orange.png differ diff --git a/layers/Mouth/Style1/CryptoCrawly_Mouth1-Purple.png b/layers/Mouth/Style1/CryptoCrawly_Mouth1-Purple.png new file mode 100644 index 0000000..37c3f64 Binary files /dev/null and b/layers/Mouth/Style1/CryptoCrawly_Mouth1-Purple.png differ diff --git a/layers/Mouth/Style1/CryptoCrawly_Mouth1-Red.png b/layers/Mouth/Style1/CryptoCrawly_Mouth1-Red.png new file mode 100644 index 0000000..4ed2a2a Binary files /dev/null and b/layers/Mouth/Style1/CryptoCrawly_Mouth1-Red.png differ diff --git a/layers/Mouth/Style1/CryptoCrawly_Mouth1-Yellow.png b/layers/Mouth/Style1/CryptoCrawly_Mouth1-Yellow.png new file mode 100644 index 0000000..355ad8f Binary files /dev/null and b/layers/Mouth/Style1/CryptoCrawly_Mouth1-Yellow.png differ diff --git a/layers/Thorax/Style1/CryptoCrawly_Thorax1-Blue.png b/layers/Thorax/Style1/CryptoCrawly_Thorax1-Blue.png new file mode 100644 index 0000000..abfc04e Binary files /dev/null and b/layers/Thorax/Style1/CryptoCrawly_Thorax1-Blue.png differ diff --git a/layers/Thorax/Style1/CryptoCrawly_Thorax1-Green.png b/layers/Thorax/Style1/CryptoCrawly_Thorax1-Green.png new file mode 100644 index 0000000..3b75634 Binary files /dev/null and b/layers/Thorax/Style1/CryptoCrawly_Thorax1-Green.png differ diff --git a/layers/Thorax/Style1/CryptoCrawly_Thorax1-Indigo.png b/layers/Thorax/Style1/CryptoCrawly_Thorax1-Indigo.png new file mode 100644 index 0000000..c9d38f4 Binary files /dev/null and b/layers/Thorax/Style1/CryptoCrawly_Thorax1-Indigo.png differ diff --git a/layers/Thorax/Style1/CryptoCrawly_Thorax1-Orange.png b/layers/Thorax/Style1/CryptoCrawly_Thorax1-Orange.png new file mode 100644 index 0000000..d6f7274 Binary files /dev/null and b/layers/Thorax/Style1/CryptoCrawly_Thorax1-Orange.png differ diff --git a/layers/Thorax/Style1/CryptoCrawly_Thorax1-Purple.png b/layers/Thorax/Style1/CryptoCrawly_Thorax1-Purple.png new file mode 100644 index 0000000..37dea67 Binary files /dev/null and b/layers/Thorax/Style1/CryptoCrawly_Thorax1-Purple.png differ diff --git a/layers/Thorax/Style1/CryptoCrawly_Thorax1-Red.png b/layers/Thorax/Style1/CryptoCrawly_Thorax1-Red.png new file mode 100644 index 0000000..4e157ec Binary files /dev/null and b/layers/Thorax/Style1/CryptoCrawly_Thorax1-Red.png differ diff --git a/layers/Thorax/Style1/CryptoCrawly_Thorax1-Yellow.png b/layers/Thorax/Style1/CryptoCrawly_Thorax1-Yellow.png new file mode 100644 index 0000000..14127e4 Binary files /dev/null and b/layers/Thorax/Style1/CryptoCrawly_Thorax1-Yellow.png differ diff --git a/layers/Wings/Style1/CryptoCrawly_Wings1-Black.png b/layers/Wings/Style1/CryptoCrawly_Wings1-Black.png new file mode 100644 index 0000000..23c8c8f Binary files /dev/null and b/layers/Wings/Style1/CryptoCrawly_Wings1-Black.png differ diff --git a/layers/Wings/Style1/CryptoCrawly_Wings1-White.png b/layers/Wings/Style1/CryptoCrawly_Wings1-White.png new file mode 100644 index 0000000..38194af Binary files /dev/null and b/layers/Wings/Style1/CryptoCrawly_Wings1-White.png differ diff --git a/layers/Wings/Style2/CryptoCrawly_Wings2-Blue.png b/layers/Wings/Style2/CryptoCrawly_Wings2-Blue.png new file mode 100644 index 0000000..47af036 Binary files /dev/null and b/layers/Wings/Style2/CryptoCrawly_Wings2-Blue.png differ diff --git a/layers/Wings/Style2/CryptoCrawly_Wings2-Green.png b/layers/Wings/Style2/CryptoCrawly_Wings2-Green.png new file mode 100644 index 0000000..4cd9ca6 Binary files /dev/null and b/layers/Wings/Style2/CryptoCrawly_Wings2-Green.png differ diff --git a/layers/Wings/Style2/CryptoCrawly_Wings2-Pink.png b/layers/Wings/Style2/CryptoCrawly_Wings2-Pink.png new file mode 100644 index 0000000..9028fd8 Binary files /dev/null and b/layers/Wings/Style2/CryptoCrawly_Wings2-Pink.png differ diff --git a/layers/Wings/Style2/CryptoCrawly_Wings2-Purple.png b/layers/Wings/Style2/CryptoCrawly_Wings2-Purple.png new file mode 100644 index 0000000..9fa5b88 Binary files /dev/null and b/layers/Wings/Style2/CryptoCrawly_Wings2-Purple.png differ diff --git a/layers/Wings/Style2/CryptoCrawly_Wings2-Yellow.png b/layers/Wings/Style2/CryptoCrawly_Wings2-Yellow.png new file mode 100644 index 0000000..f731299 Binary files /dev/null and b/layers/Wings/Style2/CryptoCrawly_Wings2-Yellow.png differ diff --git a/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Blue.png b/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Blue.png new file mode 100644 index 0000000..1dbfa1e Binary files /dev/null and b/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Blue.png differ diff --git a/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Green.png b/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Green.png new file mode 100644 index 0000000..973a79c Binary files /dev/null and b/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Green.png differ diff --git a/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Indigo.png b/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Indigo.png new file mode 100644 index 0000000..5c8b0c4 Binary files /dev/null and b/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Indigo.png differ diff --git a/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Orange.png b/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Orange.png new file mode 100644 index 0000000..d491796 Binary files /dev/null and b/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Orange.png differ diff --git a/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Purple.png b/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Purple.png new file mode 100644 index 0000000..265a17a Binary files /dev/null and b/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Purple.png differ diff --git a/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Red.png b/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Red.png new file mode 100644 index 0000000..5af7cfd Binary files /dev/null and b/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Red.png differ diff --git a/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Yellow.png b/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Yellow.png new file mode 100644 index 0000000..3e392a5 Binary files /dev/null and b/layers/Wings/Style2/Patterns/Pattern1/CryptoCrawly_Wings2_Pattern1-Yellow.png differ diff --git a/layers/background/black.png b/layers/background/black.png deleted file mode 100644 index c7dc38f..0000000 Binary files a/layers/background/black.png and /dev/null differ diff --git a/layers/ball/red eye ball_sr.png b/layers/ball/red eye ball_sr.png deleted file mode 100644 index 4abb0a8..0000000 Binary files a/layers/ball/red eye ball_sr.png and /dev/null differ diff --git a/layers/ball/white eye ball.png b/layers/ball/white eye ball.png deleted file mode 100644 index 6a89d19..0000000 Binary files a/layers/ball/white eye ball.png and /dev/null differ diff --git a/layers/bottom lid/high bottom.png b/layers/bottom lid/high bottom.png deleted file mode 100644 index 9aeb645..0000000 Binary files a/layers/bottom lid/high bottom.png and /dev/null differ diff --git a/layers/bottom lid/low bottom.png b/layers/bottom lid/low bottom.png deleted file mode 100644 index aac391c..0000000 Binary files a/layers/bottom lid/low bottom.png and /dev/null differ diff --git a/layers/bottom lid/tilted bottom_r.png b/layers/bottom lid/tilted bottom_r.png deleted file mode 100644 index ae887bc..0000000 Binary files a/layers/bottom lid/tilted bottom_r.png and /dev/null differ diff --git a/layers/eye color/cyan big.png b/layers/eye color/cyan big.png deleted file mode 100644 index 3ea4561..0000000 Binary files a/layers/eye color/cyan big.png and /dev/null differ diff --git a/layers/eye color/cyan small.png b/layers/eye color/cyan small.png deleted file mode 100644 index 0a54941..0000000 Binary files a/layers/eye color/cyan small.png and /dev/null differ diff --git a/layers/eye color/green big.png b/layers/eye color/green big.png deleted file mode 100644 index 20555e5..0000000 Binary files a/layers/eye color/green big.png and /dev/null differ diff --git a/layers/eye color/green small.png b/layers/eye color/green small.png deleted file mode 100644 index 0328c1d..0000000 Binary files a/layers/eye color/green small.png and /dev/null differ diff --git a/layers/eye color/pink big.png b/layers/eye color/pink big.png deleted file mode 100644 index 7b6d2bd..0000000 Binary files a/layers/eye color/pink big.png and /dev/null differ diff --git a/layers/eye color/pink small.png b/layers/eye color/pink small.png deleted file mode 100644 index 57abb8c..0000000 Binary files a/layers/eye color/pink small.png and /dev/null differ diff --git a/layers/eye color/purple big_r.png b/layers/eye color/purple big_r.png deleted file mode 100644 index 65ea574..0000000 Binary files a/layers/eye color/purple big_r.png and /dev/null differ diff --git a/layers/eye color/purple small.png b/layers/eye color/purple small.png deleted file mode 100644 index 727de7f..0000000 Binary files a/layers/eye color/purple small.png and /dev/null differ diff --git a/layers/eye color/red big_sr.png b/layers/eye color/red big_sr.png deleted file mode 100644 index d56e337..0000000 Binary files a/layers/eye color/red big_sr.png and /dev/null differ diff --git a/layers/eye color/red small.png b/layers/eye color/red small.png deleted file mode 100644 index de8dbc7..0000000 Binary files a/layers/eye color/red small.png and /dev/null differ diff --git a/layers/eye color/yellow big.png b/layers/eye color/yellow big.png deleted file mode 100644 index e2b62a5..0000000 Binary files a/layers/eye color/yellow big.png and /dev/null differ diff --git a/layers/eye color/yellow small.png b/layers/eye color/yellow small.png deleted file mode 100644 index ae916f7..0000000 Binary files a/layers/eye color/yellow small.png and /dev/null differ diff --git a/layers/iris/large.png b/layers/iris/large.png deleted file mode 100644 index b17ee6f..0000000 Binary files a/layers/iris/large.png and /dev/null differ diff --git a/layers/iris/medium.png b/layers/iris/medium.png deleted file mode 100644 index f1b109d..0000000 Binary files a/layers/iris/medium.png and /dev/null differ diff --git a/layers/iris/small.png b/layers/iris/small.png deleted file mode 100644 index e889391..0000000 Binary files a/layers/iris/small.png and /dev/null differ diff --git a/layers/shine/shapes.png b/layers/shine/shapes.png deleted file mode 100644 index a75ca59..0000000 Binary files a/layers/shine/shapes.png and /dev/null differ diff --git a/layers/top lid/high top.png b/layers/top lid/high top.png deleted file mode 100644 index b2bc29c..0000000 Binary files a/layers/top lid/high top.png and /dev/null differ diff --git a/layers/top lid/low top.png b/layers/top lid/low top.png deleted file mode 100644 index 950cc1f..0000000 Binary files a/layers/top lid/low top.png and /dev/null differ diff --git a/layers/top lid/tilted top_r.png b/layers/top lid/tilted top_r.png deleted file mode 100644 index 29524bf..0000000 Binary files a/layers/top lid/tilted top_r.png and /dev/null differ diff --git a/src/config.js b/src/config.js index 016ba95..66b9738 100644 --- a/src/config.js +++ b/src/config.js @@ -1,25 +1,41 @@ +// const layersOrder = [ +// { name: 'background', number: 1 }, +// { name: 'ball', number: 2 }, +// { name: 'eye color', number: 12 }, +// { name: 'iris', number: 3 }, +// { name: 'shine', number: 1 }, +// { name: 'shine', number: 1 }, +// { name: 'bottom lid', number: 3 }, +// { name: 'top lid', number: 3 }, +// ]; + const layersOrder = [ - { name: 'background', number: 1 }, - { name: 'ball', number: 2 }, - { name: 'eye color', number: 12 }, - { name: 'iris', number: 3 }, - { name: 'shine', number: 1 }, - { name: 'shine', number: 1 }, - { name: 'bottom lid', number: 3 }, - { name: 'top lid', number: 3 }, + { name: "Background" }, + { name: "Abdomen" }, + { name: "Wings" }, + { name: "LegLeft" }, + { name: "Thorax" }, + { name: "LegRight" }, + { name: "EyeLeft" }, + { name: "Mouth" }, + { name: "EyeRight" }, + { name: "Horn" }, ]; - + const format = { - width: 230, - height: 230 + width: 256, + height: 256, }; const rarity = [ - { key: "", val: "original" }, - { key: "_r", val: "rare" }, - { key: "_sr", val: "super rare" }, + { key: "", val: "common" }, + { key: "_uc", val: "uncommon" }, + { key: "_r", val: "rare" }, + { key: "_ep", val: "epic" }, + { key: "_lg", val: "legendary" }, + { key: "_uq", val: "unique" }, ]; const defaultEdition = 5; -module.exports = { layersOrder, format, rarity, defaultEdition }; \ No newline at end of file +module.exports = { layersOrder, format, rarity, defaultEdition }; diff --git a/src/main.js b/src/main.js index 365bd04..cd9b501 100644 --- a/src/main.js +++ b/src/main.js @@ -7,11 +7,11 @@ const canvas = createCanvas(format.width, format.height); const ctx = canvas.getContext("2d"); if (!process.env.PWD) { - process.env.PWD = process.cwd(); + process.env.PWD = process.cwd(); } const buildDir = `${process.env.PWD}/build`; -const metDataFile = '_metadata.json'; +const metDataFile = "_metadata.json"; const layersDir = `${process.env.PWD}/layers`; let metadata = []; @@ -20,148 +20,248 @@ let hash = []; let decodedHash = []; const Exists = new Map(); +const addRarity = (_str) => { + let itemRarity; -const addRarity = _str => { - let itemRarity; + rarity.forEach((r) => { + if (_str.includes(r.key)) { + itemRarity = r.val; + } + }); - rarity.forEach((r) => { - if (_str.includes(r.key)) { - itemRarity = r.val; - } - }); - - return itemRarity; + return itemRarity; }; -const cleanName = _str => { - let name = _str.slice(0, -4); - rarity.forEach((r) => { - name = name.replace(r.key, ""); - }); - return name; +const cleanName = (_str) => { + let name = _str.slice(0, -4); + rarity.forEach((r) => { + name = name.replace(r.key, ""); + }); + return name; }; -const getElements = path => { - return fs - .readdirSync(path) - .filter((item) => !/(^|\/)\.[^\/\.]/g.test(item)) - .map((i, index) => { - return { - id: index + 1, - name: cleanName(i), - fileName: i, - rarity: addRarity(i), - }; - }); +const getElements = (path) => { + return fs + .readdirSync(path) + .filter((item) => !/(^|\/)\.[^\/\.]/g.test(item)) + .map((i, index) => { + return { + id: index + 1, + name: cleanName(i), + fileName: i, + rarity: addRarity(i), + }; + }); }; -const layersSetup = layersOrder => { - const layers = layersOrder.map((layerObj, index) => ({ - id: index, - name: layerObj.name, - location: `${layersDir}/${layerObj.name}/`, - elements: getElements(`${layersDir}/${layerObj.name}/`), - position: { x: 0, y: 0 }, - size: { width: format.width, height: format.height }, - number: layerObj.number - })); - - return layers; +const layersSetup = (layersOrder) => { + /** + * --- DYNAMIC FOLDER STRUCTURE + * Now you can add multiple 'Style[i]' folders and various 'Pattern[j]' + * This lets you add patterns/details on top of a predetermined form(style) + * Example: A cat in Pose A wears a cape, while a spider in Pose B wears boots on each leg. + * 8 boots do not map well to a cat, but now you can have multiple spiders that will map to the boot accordingly + * AND a variety of cats that map well to the same assets + */ + const layers = []; + let extraIndex = 0; + + layersOrder.map((layerObj, index) => { + // primary asset folder and asset count + let path = `${layersDir}/${layerObj.name}/`; + let count = getElements(path).length; + + // determine if asset has different styles + const hasDiffStyles = getElements(path).find((a) => + a.fileName.includes("Style") + ); + + // if it has different styles: + if (hasDiffStyles) { + // find how many different styles + // pick a random style to build upon + // operate within the style's directory + const maxStyles = count; + let style = Math.floor(Math.random() * maxStyles) + 1; + path += `Style${style}/`; + count = getElements(path).length; + + // check to see if a given style has various patterns + const hasDiffPatterns = getElements(path).find((s) => + s.fileName.includes("Patterns") + ); + // if it has various patterns, return style, then pattern. + // else just return style + if (hasDiffPatterns) { + // if it has different patterns: + + // find how many different patterns + // pick a random pattern + // operate within the pattern's directory + const maxPatterns = getElements(`${path}Patterns/`).length; + const pattern = Math.floor(Math.random() * maxPatterns) + 1; + + // to find how many styles are available, subtract the number of Patterns in the accompanying folder + const numPatterns = getElements(`${path}`).filter((f) => + f.fileName.includes("Pattern") + ).length; + count -= numPatterns; + + // return pattern and style + layers.push({ + id: index + extraIndex, + name: `${layerObj.name}_${style}`, + location: path, + elements: getElements(path), + position: { x: 0, y: 0 }, + size: { width: format.width, height: format.height }, + number: count, + }); + + extraIndex++; + path += `Patterns/Pattern${pattern}/`; + count = getElements(path).length; + + layers.push({ + id: index + extraIndex, + name: `${layerObj.name}_${style}_${pattern}`, + location: path, + elements: getElements(path), + position: { x: 0, y: 0 }, + size: { width: format.width, height: format.height }, + number: count, + }); + } else { + // if it does not have different patterns: + + // return the style in the current folder + layers.push({ + id: index + extraIndex, + name: `${layerObj.name}_${style}`, + location: path, + elements: getElements(path), + position: { x: 0, y: 0 }, + size: { width: format.width, height: format.height }, + number: count, + }); + } + } else { + // if it doesnt have different styles: + + // return elements in current folder + layers.push({ + id: index + extraIndex, + name: layerObj.name, + location: path, + elements: getElements(path), + position: { x: 0, y: 0 }, + size: { width: format.width, height: format.height }, + number: count, + }); + } + }); + return layers; }; const buildSetup = () => { - if (fs.existsSync(buildDir)) { - fs.rmdirSync(buildDir, { recursive: true }); - } - fs.mkdirSync(buildDir); + if (fs.existsSync(buildDir)) { + fs.rmdirSync(buildDir, { recursive: true }); + } + fs.mkdirSync(buildDir); }; const saveLayer = (_canvas, _edition) => { - fs.writeFileSync(`${buildDir}/${_edition}.png`, _canvas.toBuffer("image/png")); + fs.writeFileSync( + `${buildDir}/${_edition}.png`, + _canvas.toBuffer("image/png") + ); }; -const addMetadata = _edition => { - let dateTime = Date.now(); - let tempMetadata = { - hash: hash.join(""), - decodedHash: decodedHash, - edition: _edition, - date: dateTime, - attributes: attributes, - }; - metadata.push(tempMetadata); - attributes = []; - hash = []; - decodedHash = []; +const addMetadata = (_edition) => { + let dateTime = Date.now(); + let tempMetadata = { + hash: hash.join(""), + decodedHash: decodedHash, + edition: _edition, + date: dateTime, + attributes: attributes, + }; + metadata.push(tempMetadata); + attributes = []; + hash = []; + decodedHash = []; }; const addAttributes = (_element, _layer) => { - let tempAttr = { - id: _element.id, - layer: _layer.name, - name: _element.name, - rarity: _element.rarity, - }; - attributes.push(tempAttr); - hash.push(_layer.id); - hash.push(_element.id); - decodedHash.push({ [_layer.id]: _element.id }); + let tempAttr = { + id: _element.id, + layer: _layer.name, + name: _element.name, + rarity: _element.rarity, + }; + attributes.push(tempAttr); + hash.push(_layer.id); + hash.push(_element.id); + decodedHash.push({ [_layer.id]: _element.id }); }; const drawLayer = async (_layer, _edition) => { - const rand = Math.random(); - let element = - _layer.elements[Math.floor(rand * _layer.number)] ? _layer.elements[Math.floor(rand * _layer.number)] : null; - if (element) { - addAttributes(element, _layer); - const image = await loadImage(`${_layer.location}${element.fileName}`); - - ctx.drawImage( - image, - _layer.position.x, - _layer.position.y, - _layer.size.width, - _layer.size.height - ); - saveLayer(canvas, _edition); - } + const rand = Math.random(); + let element = _layer.elements[Math.floor(rand * _layer.number)] + ? _layer.elements[Math.floor(rand * _layer.number)] + : null; + if (element) { + addAttributes(element, _layer); + const image = await loadImage(`${_layer.location}${element.fileName}`); + + ctx.drawImage( + image, + _layer.position.x, + _layer.position.y, + _layer.size.width, + _layer.size.height + ); + saveLayer(canvas, _edition); + } }; -const createFiles = async edition => { - const layers = layersSetup(layersOrder); - - let numDupes = 0; - for (let i = 1; i <= edition; i++) { - await layers.forEach(async (layer) => { - await drawLayer(layer, i); - }); - - let key = hash.toString(); - if (Exists.has(key)) { - console.log( - `Duplicate creation for edition ${i}. Same as edition ${Exists.get( - key - )}` - ); - numDupes++; - if (numDupes > edition) break; //prevents infinite loop if no more unique items can be created - i--; - } else { - Exists.set(key, i); - addMetadata(i); - console.log("Creating edition " + i); - } - } +const createFiles = async (edition) => { + let numDupes = 0; + for (let i = 1; i <= edition; i++) { + const layers = layersSetup(layersOrder); + await layers.forEach(async (layer) => { + await drawLayer(layer, i); + }); + + let key = hash.toString(); + if (Exists.has(key)) { + console.log( + `Duplicate creation for edition ${i}. Same as edition ${Exists.get( + key + )}` + ); + numDupes++; + if (numDupes > edition) break; //prevents infinite loop if no more unique items can be created + i--; + } else { + Exists.set(key, i); + addMetadata(i); + console.log("Creating edition " + i); + } + } }; const createMetaData = () => { - fs.stat(`${buildDir}/${metDataFile}`, (err) => { - if(err == null || err.code === 'ENOENT') { - fs.writeFileSync(`${buildDir}/${metDataFile}`, JSON.stringify(metadata, null, 2)); - } else { - console.log('Oh no, error: ', err.code); - } - }); + fs.stat(`${buildDir}/${metDataFile}`, (err) => { + if (err == null || err.code === "ENOENT") { + fs.writeFileSync( + `${buildDir}/${metDataFile}`, + JSON.stringify(metadata, null, 2) + ); + } else { + console.log("Oh no, error: ", err.code); + } + }); }; module.exports = { buildSetup, createFiles, createMetaData }; diff --git a/src/preview.png b/src/preview.png deleted file mode 100644 index 6958932..0000000 Binary files a/src/preview.png and /dev/null differ