Merge branch 'master' of https://github.com/Anuken/Mindustry into 7.0-features

 Conflicts:
	core/assets/bundles/bundle_zh_CN.properties
	core/assets/bundles/bundle_zh_TW.properties
This commit is contained in:
Anuken
2021-11-22 13:17:36 -05:00
8 changed files with 707 additions and 944 deletions

View File

@@ -2,6 +2,7 @@ sourceSets.main.java.srcDirs = ["src/"]
import arc.files.Fi
import arc.files.ZipFi
import arc.func.Func2
import arc.graphics.Color
import arc.graphics.Pixmap
@@ -11,9 +12,12 @@ import arc.struct.IntMap
import arc.struct.ObjectMap
import arc.struct.OrderedMap
import arc.struct.Seq
import arc.util.Http
import arc.util.Log
import arc.util.OS
import arc.util.async.Threads
import arc.util.io.PropertiesUtils
import arc.util.io.Streams
import java.util.concurrent.ExecutorService
import java.util.concurrent.Executors
@@ -261,10 +265,47 @@ task genSprites(dependsOn: classes, type: JavaExec){
}
task fontgen(dependsOn: classes, type: JavaExec){
mainClass = "mindustry.tools.FontGenerator"
classpath = sourceSets.main.runtimeClasspath
standardInput = System.in
workingDir = "../"
/* icon font pipeline:
1. take set of pre-defined icons and SVGs
2. use Fontello API to get a font with these
3. combine fontello font and standard font, get output font
4. use json to generate a file with constants for every icon size+type (during annotation processing)
*/
doLast{
Fi folder = Fi.get("core/assets-raw/fontgen/out/");
folder.mkdirs();
Log.info("Session...");
OS.exec("curl", "--fail", "--output", "core/assets-raw/fontgen/out/session", "--form", "config=@core/assets-raw/fontgen/config.json", "https://fontello.com");
Log.info("Zip...");
String session = folder.child("session").readString();
Http.get("https://fontello.com/" + session + "/get").block(result -> {
Streams.copy(result.getResultAsStream(), folder.child("font.zip").write());
});
Log.info("Icon font...");
ZipFi zip = new ZipFi(folder.child("font.zip"));
Fi dest = folder.child("font.woff");
zip.list()[0].child("font").child("fontello.ttf").copyTo(dest);
dest.copyTo(Fi.get("core/assets/fonts/icon.ttf"));
Log.info("Merge...");
//TODO this is broken
Log.info(OS.exec("fontforge", "-script",
Fi.get("core/assets-raw/fontgen/merge.pe").absolutePath(),
Fi.get("core/assets/fonts/font.woff").absolutePath(),
Fi.get("core/assets-raw/fontgen/out/font.woff").absolutePath())
);
Log.info("Done.");
}
}
task icongen(dependsOn: classes, type: JavaExec){
@@ -293,7 +334,7 @@ task updateBundles{
continue;
}
if(ch >= 0xE000){
if(ch >= 0xE000 && ch <= 0xF8FF){
String hex = Integer.toHexString((int)ch);
outBuffer.append("\\u");
for(int j = 0; j < 4 - hex.length(); j++){