Browse Source

Fix script for generating icons

Robert Autenrieth 8 years ago
parent
commit
b6827294b7
2 changed files with 922 additions and 12 deletions
  1. 873
    12
      generator/js/icons.js
  2. 49
    0
      resources/tools/update-icons.js

+ 873
- 12
generator/js/icons.js
File diff suppressed because it is too large
View File


+ 49
- 0
resources/tools/update-icons.js View File

@@ -14,6 +14,7 @@ const tempDir = "./temp";
14 14
 const imgDir = "./generator/img";
15 15
 const customIconDir = "./resources/custom-icons";
16 16
 const cssPath = "./generator/css/icons.css";
17
+const jsPath = "./generator/js/icons.js";
17 18
 //const processIconsCmd = "mogrify -background white -alpha shape *.png";
18 19
 const processIconsCmd = `mogrify -alpha copy -channel-fx "red=100%, blue=100%, green=100%" *.png`
19 20
 
@@ -102,6 +103,53 @@ function generateCSS(src, dest) {
102 103
     });
103 104
 }
104 105
 
106
+// ----------------------------------------------------------------------------
107
+// Generate JS
108
+// ----------------------------------------------------------------------------
109
+function generateJS(src, dest) {
110
+    console.log("Generating JS...");
111
+    return new Promise((resolve, reject) => {
112
+        fs.readdir(src, (err, files) => {
113
+            if (err) {
114
+                reject(err);
115
+            }
116
+            else {
117
+                const content = "var icon_names = [\n" + files
118
+                    .map(name => `    "${name.replace(".png", "")}"`)
119
+                    .join(",\n") +
120
+`
121
+];
122
+
123
+var class_icon_names = [
124
+    "class-barbarian",
125
+    "class-bard",
126
+    "class-cleric",
127
+    "class-druid",
128
+    "class-fighter",
129
+    "class-monk",
130
+    "class-paladin",
131
+    "class-ranger",
132
+    "class-rogue",
133
+    "class-sorcerer",
134
+    "class-warlock",
135
+    "class-wizard"
136
+];
137
+
138
+icon_names = icon_names.concat(class_icon_names);
139
+`;
140
+                fs.writeFile(dest, content, err => {
141
+                    if (err) {
142
+                        reject(err);
143
+                    }
144
+                    else {
145
+                        resolve();
146
+                    }
147
+                });
148
+            }
149
+        });
150
+    });
151
+}
152
+
105 153
 // ----------------------------------------------------------------------------
106 154
 // Copy
107 155
 // ----------------------------------------------------------------------------
@@ -126,5 +174,6 @@ fse.emptyDir(tempDir)
126 174
 .then(() => copyAll(customIconDir, imgDir))
127 175
 .then(() => processAll(imgDir))
128 176
 .then(() => generateCSS(imgDir, cssPath))
177
+.then(() => generateJS(imgDir, jsPath))
129 178
 .then(() => console.log("Done."))
130 179
 .catch(err => cosole.log("Error", err));

Loading…
Cancel
Save