diff --git a/annotations/src/main/java/mindustry/annotations/AssetsAnnotationProcessor.java b/annotations/src/main/java/mindustry/annotations/AssetsAnnotationProcessor.java index 4a4e9fc8c0..f64c26f242 100644 --- a/annotations/src/main/java/mindustry/annotations/AssetsAnnotationProcessor.java +++ b/annotations/src/main/java/mindustry/annotations/AssetsAnnotationProcessor.java @@ -54,25 +54,30 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{ } void processUI(Set elements) throws Exception{ - String[] iconSizes = {"small", "smaller", "tiny"}; - TypeSpec.Builder type = TypeSpec.classBuilder("Tex").addModifiers(Modifier.PUBLIC); - TypeSpec.Builder ictype = TypeSpec.classBuilder("Icon").addModifiers(Modifier.PUBLIC); //TODO remove and replace - TypeSpec.Builder ictype_ = TypeSpec.classBuilder("Icon_").addModifiers(Modifier.PUBLIC); + TypeSpec.Builder ictype = TypeSpec.classBuilder("Icon").addModifiers(Modifier.PUBLIC); TypeSpec.Builder ichtype = TypeSpec.classBuilder("Iconc").addModifiers(Modifier.PUBLIC); MethodSpec.Builder load = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC); MethodSpec.Builder loadStyles = MethodSpec.methodBuilder("loadStyles").addModifiers(Modifier.PUBLIC, Modifier.STATIC); MethodSpec.Builder icload = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC); - MethodSpec.Builder icload_ = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC); String resources = path + "/assets-raw/sprites/ui"; Jval icons = Jval.read(Fi.get(path + "/assets-raw/fontgen/config.json").readString()); + ictype.addField(FieldSpec.builder(ParameterizedTypeName.get(ObjectMap.class, String.class, TextureRegionDrawable.class), + "icons", Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).initializer("new ObjectMap<>()").build()); + for(Jval val : icons.get("glyphs").asArray()){ String name = capitalize(val.getString("css", "")); int code = val.getInt("code", 0); ichtype.addField(FieldSpec.builder(char.class, name, Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).initializer("(char)" + code).build()); - ictype_.addField(TextureRegionDrawable.class, name, Modifier.PUBLIC, Modifier.STATIC); - icload_.addStatement(name + " = mindustry.Vars.ui.getGlyph(mindustry.ui.Fonts.def, (char)" + code + ")"); + + ictype.addField(TextureRegionDrawable.class, name + "Sm", Modifier.PUBLIC, Modifier.STATIC); + icload.addStatement(name + "Sm = mindustry.Vars.ui.getGlyph(mindustry.ui.Fonts.def, (char)" + code + ")"); + + ictype.addField(TextureRegionDrawable.class, name, Modifier.PUBLIC, Modifier.STATIC); + icload.addStatement(name + " = mindustry.Vars.ui.getGlyph(mindustry.ui.Fonts.icon, (char)" + code + ")"); + + icload.addStatement("icons.put($S, " + name + ")", name); } Fi.get(resources).walk(p -> { @@ -81,34 +86,15 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{ String filename = p.name(); filename = filename.substring(0, filename.indexOf(".")); - ArrayList names = new ArrayList<>(); - names.add(""); - if(filename.contains("icon")){ - names.addAll(Arrays.asList(iconSizes)); - } + String sfilen = filename; + String dtype = p.name().endsWith(".9.png") ? "arc.scene.style.NinePatchDrawable" : "arc.scene.style.TextureRegionDrawable"; - for(String suffix : names){ - suffix = suffix.isEmpty() ? "" : "-" + suffix; + String varname = capitalize(sfilen); - String sfilen = filename + suffix; - String dtype = p.name().endsWith(".9.png") ? "arc.scene.style.NinePatchDrawable" : "arc.scene.style.TextureRegionDrawable"; + if(SourceVersion.isKeyword(varname)) varname += "s"; - String varname = capitalize(sfilen); - TypeSpec.Builder ttype = type; - MethodSpec.Builder tload = load; - if(varname.startsWith("icon")){ - varname = varname.substring("icon".length()); - varname = Character.toLowerCase(varname.charAt(0)) + varname.substring(1); - ttype = ictype; - tload = icload; - if(SourceVersion.isKeyword(varname)) varname += "i"; - } - - if(SourceVersion.isKeyword(varname)) varname += "s"; - - ttype.addField(ClassName.bestGuess(dtype), varname, Modifier.STATIC, Modifier.PUBLIC); - tload.addStatement(varname + " = ("+dtype+")arc.Core.atlas.drawable($S)", sfilen); - } + type.addField(ClassName.bestGuess(dtype), varname, Modifier.STATIC, Modifier.PUBLIC); + load.addStatement(varname + " = ("+dtype+")arc.Core.atlas.drawable($S)", sfilen); }); for(Element elem : elements){ @@ -121,10 +107,8 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{ } ictype.addMethod(icload.build()); - ictype_.addMethod(icload_.build()); - JavaFile.builder(packageName, ictype.build()).build().writeTo(Utils.filer); JavaFile.builder(packageName, ichtype.build()).build().writeTo(Utils.filer); - JavaFile.builder(packageName, ictype_.build()).build().writeTo(Utils.filer); + JavaFile.builder(packageName, ictype.build()).build().writeTo(Utils.filer); type.addMethod(load.build()); type.addMethod(loadStyles.build()); diff --git a/build.gradle b/build.gradle index 10c0d8eb74..e3baad885d 100644 --- a/build.gradle +++ b/build.gradle @@ -309,7 +309,7 @@ project(":annotations"){ dependencies{ compile 'com.squareup:javapoet:1.11.0' - compile "com.github.Anuken.Arc:arc-core:-SNAPSHOT" + compile "com.github.Anuken.Arc:arc-core:b77767039334b2658f44d69e72d1ef6bc84f95b0" compile files("${System.getProperty('java.home')}/../lib/tools.jar") } } diff --git a/core/assets-raw/fontgen/config.json b/core/assets-raw/fontgen/config.json index 758421324a..e2f8e27e39 100644 --- a/core/assets-raw/fontgen/config.json +++ b/core/assets-raw/fontgen/config.json @@ -6,63 +6,51 @@ "units_per_em": 1000, "ascent": 850, "glyphs": [ - { - "uid": "d7271d490b71df4311e32cdacae8b331", - "css": "home", - "code": 59392, - "src": "fontawesome" - }, { "uid": "c08a1cde48d96cba21d8c05fa7d7feb1", - "css": "doc-text-inv", + "css": "file-text-fill", "code": 61788, "src": "fontawesome" }, { "uid": "178053298e3e5b03551d754d4b9acd8b", - "css": "doc-inv", + "css": "file", "code": 61787, "src": "fontawesome" }, { "uid": "5408be43f7c42bccee419c6be53fdef5", - "css": "doc-text", + "css": "file-text", "code": 61686, "src": "fontawesome" }, - { - "uid": "ce06b5805120d0c2f8d60cd3f1a4fdb5", - "css": "play", - "code": 59393, - "src": "fontawesome" - }, { "uid": "555ef8c86832e686fef85f7af2eb7cde", - "css": "left-big", + "css": "left", "code": 59394, "src": "fontawesome" }, { "uid": "ad6b3fbb5324abe71a9c0b6609cbb9f1", - "css": "right-big", + "css": "right", "code": 59395, "src": "fontawesome" }, { "uid": "95376bf082bfec6ce06ea1cda7bd7ead", - "css": "up-big", + "css": "up", "code": 59396, "src": "fontawesome" }, { "uid": "1c4068ed75209e21af36017df8871802", - "css": "down-big", + "css": "down", "code": 59397, "src": "fontawesome" }, { "uid": "6f880cbd94039674f0de065ffb57c250", - "css": "icon-distribution-transparent", + "css": "distribution", "code": 59398, "src": "custom_icons", "selected": true, @@ -73,6 +61,638 @@ "search": [ "icon-distribution-transparent.png" ] + }, + { + "uid": "w3nzesrlbezu6f30q7ytyq919p6gdlb6", + "css": "home", + "code": 59399, + "src": "typicons" + }, + { + "uid": "12f4ece88e46abd864e40b35e05b11cd", + "css": "ok", + "code": 59392, + "src": "fontawesome" + }, + { + "uid": "6a7ed3214c9049148cbdb01825e5efc2", + "css": "image", + "code": 59400, + "src": "typicons" + }, + { + "uid": "vyuzsm6wijlfwtjo4ifkoblfmsepk6g8", + "css": "star", + "code": 59401, + "src": "typicons" + }, + { + "uid": "dd4b00255957a608953c409346e7d7fb", + "css": "warning", + "code": 59402, + "src": "typicons" + }, + { + "uid": "cdfalpadi7huwv9ah4fef2gpfpb4c6qm", + "css": "resize", + "code": 59403, + "src": "typicons" + }, + { + "uid": "j6xzwioffey3gxe90yx3ie56j5dlt902", + "css": "block_", + "code": 59404, + "src": "typicons" + }, + { + "uid": "jh3jpcb1t1bcm80gidkadilh080aq79h", + "css": "menu", + "code": 59405, + "src": "typicons" + }, + { + "uid": "dpxunrtmigvk6jm0ieo7axfsgzx4awll", + "css": "settings", + "code": 59406, + "src": "typicons" + }, + { + "uid": "i7r8vgyqewsy2rlx0xhawybpw5uyss3z", + "css": "wrench", + "code": 59407, + "src": "typicons" + }, + { + "uid": "971842913945f59c7f3cf11e75e1e4f1", + "css": "power_", + "code": 59408, + "src": "typicons" + }, + { + "uid": "2b8ea04aa0e500ae056f9c7934af18e6", + "css": "pine", + "code": 59409, + "src": "typicons" + }, + { + "uid": "5e0a374728ffa8d0ae1f331a8f648231", + "css": "github", + "code": 61715, + "src": "fontawesome" + }, + { + "uid": "0ece9a12de796b8411f868d582bee678", + "css": "github-square", + "code": 62208, + "src": "fontawesome" + }, + { + "uid": "bbfb51903f40597f0b70fd75bc7b5cac", + "css": "trash", + "code": 61944, + "src": "fontawesome" + }, + { + "uid": "3c961c1a8d874815856fc6637dc5a13c", + "css": "file-image", + "code": 61893, + "src": "fontawesome" + }, + { + "uid": "1gf923f9wvaezxmfon515dglxa3drf0e", + "css": "add", + "code": 59411, + "src": "typicons" + }, + { + "uid": "k7sao112253txym1egnte7822irbyphe", + "css": "eye", + "code": 59412, + "src": "typicons" + }, + { + "uid": "1e77a2yvsq3owssduo2lcgsiven57iv5", + "css": "pencil", + "code": 59413, + "src": "typicons" + }, + { + "uid": "jqzwo6i8oicjbn049sh2856d8anrqoli", + "css": "edit", + "code": 59414, + "src": "typicons" + }, + { + "uid": "b90868gfogj970a1g0dnot6hm5r4uj55", + "css": "chat", + "code": 59415, + "src": "typicons" + }, + { + "uid": "890649841b2c37d56ff90065872fecf3", + "css": "chart-bar", + "code": 59417, + "src": "typicons" + }, + { + "uid": "db7651b88bb33a590710f551bfbbd371", + "css": "plane-outline", + "code": 59418, + "src": "typicons" + }, + { + "uid": "6f200a5a449259c51cd0ccf56b4c1e93", + "css": "drizzle", + "code": 59419, + "src": "typicons" + }, + { + "uid": "bczb7qup4axmc490xmuuv8qdhcnbgeyf", + "css": "user", + "code": 59420, + "src": "typicons" + }, + { + "uid": "4109c474ff99cad28fd5a2c38af2ec6f", + "css": "filter", + "code": 61616, + "src": "fontawesome" + }, + { + "uid": "f8aa663c489bcbd6e68ec8147dca841e", + "css": "folder", + "code": 59421, + "src": "fontawesome" + }, + { + "uid": "9755f76110ae4d12ac5f9466c9152031", + "css": "book", + "code": 59423, + "src": "fontawesome" + }, + { + "uid": "ca1c07c0df52dbf2af6813c9e36c2611", + "css": "copy", + "code": 59424, + "src": "typicons" + }, + { + "uid": "785a9b232e86ae750516adc5228a5aa7", + "css": "steam", + "code": 59426, + "src": "zocial" + }, + { + "uid": "348b04ea17f646fbc6a46e20ebe4fe12", + "css": "download", + "code": 61486, + "src": "mfglabs" + }, + { + "uid": "4f3b31017c63ba04dc4f78ce7a8f02b1", + "css": "upload", + "code": 61487, + "src": "mfglabs" + }, + { + "uid": "6020aff067fc3c119cdd75daa5249220", + "css": "exchange", + "code": 61676, + "src": "fontawesome" + }, + { + "uid": "ccddff8e8670dcd130e3cb55fdfc2fd0", + "css": "down-open", + "code": 59428, + "src": "fontawesome" + }, + { + "uid": "d870630ff8f81e6de3958ecaeac532f2", + "css": "left-open", + "code": 59429, + "src": "fontawesome" + }, + { + "uid": "fe6697b391355dec12f3d86d6d490397", + "css": "up-open", + "code": 59430, + "src": "fontawesome" + }, + { + "uid": "87d337fee4866c2c28f6082994ce0f41", + "css": "map", + "code": 59431, + "src": "typicons" + }, + { + "uid": "5qynhqqaenby227l5kogqj8sdk5s4e7h", + "css": "rotate", + "code": 59427, + "src": "typicons" + }, + { + "uid": "3e290a111c0f3ee3acbf7b5f17ccc04a", + "css": "play", + "code": 59433, + "src": "typicons" + }, + { + "uid": "e44ef09cb81413287d702eefa65dd790", + "css": "pause", + "code": 59434, + "src": "typicons" + }, + { + "uid": "lu2wqmd7v9zp21knhy4eifo41wjp4cnx", + "css": "th-list", + "code": 59435, + "src": "typicons" + }, + { + "uid": "5211af474d3a9848f67f945e2ccaf143", + "css": "cancel", + "code": 59436, + "src": "fontawesome" + }, + { + "uid": "1a27e6346cdf0480c9c22351378bebbb", + "css": "paste", + "code": 59437, + "src": "typicons" + }, + { + "uid": "fhkechw94uv9ydw6tukba3ka2hhoif4n", + "css": "move", + "code": 59438, + "src": "typicons" + }, + { + "uid": "287ee2cac4ded1712253c7b03ff4a5db", + "css": "pipette", + "code": 59439, + "src": "typicons" + }, + { + "uid": "e45e9f27ce40ba9837cc984076d98067", + "css": "zoom", + "code": 59441, + "src": "elusive" + }, + { + "uid": "0e26e70b4aa537cc206f41b21dcf2fcc", + "css": "lock", + "code": 59442, + "src": "elusive" + }, + { + "uid": "8f562a6dca9c14c9c8268bdb64efa89f", + "css": "lock-open", + "code": 59443, + "src": "elusive" + }, + { + "uid": "fa10777b2d88cc64cd6e4f26ef0e5264", + "css": "terminal", + "code": 61728, + "src": "fontawesome" + }, + { + "uid": "28r0xthd180mg0wnfh8ek3mtn761hs11", + "css": "undo", + "code": 59445, + "src": "typicons" + }, + { + "uid": "7p5gflyid3o4gtesy94a6erq94e4pz7u", + "css": "redo", + "code": 59446, + "src": "typicons" + }, + { + "uid": "117d7f4e196f826847929c6550734615", + "css": "globe", + "code": 61464, + "src": "mfglabs" + }, + { + "uid": "3d4ea8a78dc34efe891f3a0f3d961274", + "css": "info", + "code": 61737, + "src": "fontawesome" + }, + { + "uid": "e82cedfa1d5f15b00c5a81c9bd731ea2", + "css": "info-circle", + "code": 59447, + "src": "fontawesome" + }, + { + "uid": "8a1d446e5555e76f82ddb1c8b526f579", + "css": "tree", + "code": 59448, + "src": "entypo" + }, + { + "uid": "813cb2527308990d4870591d9d76f8cd", + "css": "right-open-out", + "code": 59449, + "src": "typicons" + }, + { + "uid": "6zhrgcf3co77hnljttd3b2mrc8z5fiq5", + "css": "right-open", + "code": 59450, + "src": "typicons" + }, + { + "uid": "fd8d9ae4422e55d3ca23f55d9cf4b20a", + "css": "waves", + "code": 59451, + "src": "typicons" + }, + { + "uid": "5c49851100aa021825b346d16d7f3abf", + "css": "temperatire", + "code": 59452, + "src": "typicons" + }, + { + "uid": "ef7107c004ac05657c5f41177e0bf4f3", + "css": "link", + "code": 59453, + "src": "typicons" + }, + { + "uid": "e3699d145bd628d2a35d4a508b616f0c", + "css": "filters", + "code": 59454, + "src": "iconic" + }, + { + "uid": "d2c499942f8a7c037d5a94f123eeb478", + "css": "layers", + "code": 59455, + "src": "iconic" + }, + { + "uid": "b9be509237c9abea9c258d677777b713", + "css": "pick", + "code": 59456, + "src": "iconic" + }, + { + "uid": "ebc57fa8400e4ede049ac5dc665210e1", + "css": "eraser", + "code": 61741, + "src": "fontawesome" + }, + { + "uid": "8ea66d97faf9816abd34f48f3f26d216", + "css": "bucket", + "code": 59457, + "src": "entypo" + }, + { + "uid": "9396b2d8849e0213a0f11c5fd7fcc522", + "css": "host", + "code": 61614, + "src": "fontawesome" + }, + { + "uid": "51727ca007aa35ceabcaffc28934faee", + "css": "book-open", + "code": 59393, + "src": "entypo" + }, + { + "uid": "da72ab64b02d997ff0521339f2997233", + "css": "grid", + "code": 61481, + "src": "mfglabs" + }, + { + "uid": "f8d887df13c5f95ede5fb0e2cdb042b1", + "css": "flip-x", + "code": 59410, + "src": "elusive" + }, + { + "uid": "f8b0d36761ba4c7e51d0af49d3386713", + "css": "flip-y", + "code": 59458, + "src": "elusive" + }, + { + "uid": "9edf364d6c567aa474b0f9ec6c26c042", + "css": "hammer", + "code": 59459, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M470.3 0C458.1 0 446 6.1 433.8 18.3L397.3 54.8 360.7 91.3 324.2 127.9 287.7 164.4 251.1 200.9 214.6 237.4 178.1 274C165.9 286.1 159.8 298.3 159.8 310.5 159.8 322.7 165.9 334.9 178.1 347L214.6 383.6 251.1 420.1 287.7 456.6 324.2 493.2C336.4 505.3 342.5 517.5 342.5 529.7 342.5 541.9 336.4 554 324.2 566.2L287.7 602.7 251.1 639.3 214.6 675.8 178.1 712.3 141.6 748.9 105 785.4 68.5 821.9 32 858.4C19.8 870.6 10.7 885.8 4.6 904.1-1.5 922.4-1.5 940.6 4.6 958.9 10.7 977.2 22.8 989.3 41.1 995.4 59.4 1001.5 77.6 1001.5 95.9 995.4 114.2 989.3 129.4 980.2 141.6 968L178.1 931.5 214.6 895 251.1 858.4 287.7 821.9 324.2 785.4 360.7 748.9 397.3 712.3 433.8 675.8C446 663.6 458.1 657.5 470.3 657.5 482.5 657.5 494.7 663.6 506.8 675.8L543.4 712.3 579.9 748.9 616.4 785.4 653 821.9C665.1 834.1 677.3 840.2 689.5 840.2 701.7 840.2 713.9 834.1 726 821.9L762.6 785.4 799.1 748.9 835.6 712.3 872.1 675.8 908.7 639.3 945.2 602.7 981.7 566.2C993.9 554 1000 541.9 1000 529.7 1000 517.5 993.9 505.3 981.7 493.2L945.2 456.6 908.7 420.1 872.1 383.6 835.6 347 799.1 310.5 762.6 274 726 237.4 689.5 200.9 653 164.4 616.4 127.9 579.9 91.3 543.4 54.8 506.8 18.3C494.7 6.1 482.5 0 470.3 0Z", + "width": 1000 + }, + "search": [ + "hammer" + ] + }, + { + "uid": "e594fc6e5870b4ab7e49f52571d52577", + "css": "diagonal", + "code": 59460, + "src": "fontawesome" + }, + { + "uid": "wh8nbtrxjl2f67dpybsww6mri0xcaklm", + "css": "export", + "code": 59462, + "src": "typicons" + }, + { + "uid": "d5fabfa46384953ae055fceacb2229a7", + "css": "refresh", + "code": 59463, + "src": "elusive" + }, + { + "uid": "9e33d50c92e84bd26d83d1f37d6f0d57", + "css": "admin", + "code": 59432, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M427.1 385.4Q437.5 354.2 468.8 343.8 500 333.3 531.3 343.8 562.5 354.2 572.9 385.4 583.3 416.7 572.9 447.9 562.5 479.2 531.3 489.6 500 500 468.8 489.6 437.5 479.2 427.1 447.9 416.7 416.7 427.1 385.4M166.7 41.7Q187.5 20.8 218.8 10.4 250 0 291.7 0 333.3 0 375 0 416.7 0 458.3 0 500 0 541.7 0 583.3 0 625 0 666.7 0 708.3 0 750 0 781.3 10.4 812.5 20.8 833.3 41.7 854.2 62.5 875 83.3 895.8 104.2 916.7 125 937.5 145.8 958.3 166.7 979.2 187.5 989.6 218.8 1000 250 1000 291.7 1000 333.3 1000 375 1000 416.7 1000 458.3 1000 500 989.6 531.3 979.2 562.5 958.3 583.3 937.5 604.2 927.1 635.4 916.7 666.7 916.7 708.3 916.7 750 906.3 781.3 895.8 812.5 875 833.3 854.2 854.2 833.3 875 812.5 895.8 791.7 916.7 770.8 937.5 750 958.3 729.2 979.2 697.9 989.6 666.7 1000 625 1000 583.3 1000 541.7 1000 500 1000 458.3 1000 416.7 1000 375 1000 333.3 1000 302.1 989.6 270.8 979.2 250 958.3 229.2 937.5 208.3 916.7 187.5 895.8 166.7 875 145.8 854.2 125 833.3 104.2 812.5 93.8 781.3 83.3 750 83.3 708.3 83.3 666.7 72.9 635.4 62.5 604.2 41.7 583.3 20.8 562.5 10.4 531.3 0 500 0 458.3 0 416.7 0 375 0 333.3 0 291.7 0 250 10.4 218.8 20.8 187.5 41.7 166.7 62.5 145.8 83.3 125 104.2 104.2 125 83.3 145.8 62.5 166.7 41.7M541.7 750Q583.3 750 614.6 739.6 645.8 729.2 645.8 708.3 645.8 687.5 614.6 677.1 583.3 666.7 541.7 666.7 500 666.7 458.3 666.7 416.7 666.7 385.4 677.1 354.2 687.5 354.2 708.3 354.2 729.2 385.4 739.6 416.7 750 458.3 750 500 750 541.7 750M541.7 583.3Q583.3 583.3 614.6 572.9 645.8 562.5 666.7 541.7 687.5 520.8 708.3 500 729.2 479.2 739.6 447.9 750 416.7 739.6 385.4 729.2 354.2 708.3 333.3 687.5 312.5 666.7 291.7 645.8 270.8 614.6 260.4 583.3 250 541.7 250 500 250 458.3 250 416.7 250 385.4 260.4 354.2 270.8 333.3 291.7 312.5 312.5 291.7 333.3 270.8 354.2 260.4 385.4 250 416.7 260.4 447.9 270.8 479.2 291.7 500 312.5 520.8 333.3 541.7 354.2 562.5 385.4 572.9 416.7 583.3 458.3 583.3 500 583.3 541.7 583.3", + "width": 1000 + }, + "search": [ + "admin" + ] + }, + { + "uid": "4bad23bc52aaddaac37da019e46b6f6b", + "css": "discord", + "code": 59464, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M347 419.5C318.5 419.5 296 444.5 296 475 296 505.5 319 530.5 347 530.5 375.5 530.5 398 505.5 398 475 398.5 444.5 375.5 419.5 347 419.5ZM529.5 419.5C501 419.5 478.5 444.5 478.5 475 478.5 505.5 501.5 530.5 529.5 530.5 558 530.5 580.5 505.5 580.5 475 580.5 444.5 558 419.5 529.5 419.5ZM772.5 0H102.5C46 0 0 46 0 103V779C0 836 46 882 102.5 882H669.5L643 789.5 707 849 767.5 905 875 1000V103C875 46 829 0 772.5 0ZM579.5 653C579.5 653 561.5 631.5 546.5 612.5 612 594 637 553 637 553 616.5 566.5 597 576 579.5 582.5 554.5 593 530.5 600 507 604 459 613 415 610.5 377.5 603.5 349 598 324.5 590 304 582 292.5 577.5 280 572 267.5 565 266 564 264.5 563.5 263 562.5 262 562 261.5 561.5 261 561 252 556 247 552.5 247 552.5 247 552.5 271 592.5 334.5 611.5 319.5 630.5 301 653 301 653 190.5 649.5 148.5 577 148.5 577 148.5 416 220.5 285.5 220.5 285.5 292.5 231.5 361 233 361 233L366 239C276 265 234.5 304.5 234.5 304.5 234.5 304.5 245.5 298.5 264 290 317.5 266.5 360 260 377.5 258.5 380.5 258 383 257.5 386 257.5 416.5 253.5 451 252.5 487 256.5 534.5 262 585.5 276 637.5 304.5 637.5 304.5 598 267 513 241L520 233C520 233 588.5 231.5 660.5 285.5 660.5 285.5 732.5 416 732.5 577 732.5 577 690 649.5 579.5 653Z", + "width": 875 + }, + "search": [ + "discord-logo-white" + ] + }, + { + "uid": "0bdc0ffef9e3926bd1bc07029cdbd444", + "css": "terrain", + "code": 59416, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M343.1 49.2Q363.6 29.1 384 29.1 404.4 29.1 424.9 49.2 445.3 69.3 465.7 89.4 486.2 109.5 506.6 129.6 527 149.7 547.5 169.8 567.9 189.9 588.3 210.1 608.8 230.2 629.2 230.2 649.6 230.2 670.1 210.1 690.5 189.9 711 189.9 731.4 189.9 751.8 210.1 772.3 230.2 792.7 250.3 813.1 270.4 833.6 290.5 854 310.6 874.4 330.7 894.9 350.8 915.3 370.9 935.7 391 956.2 411.1 976.6 431.2 986.8 461.4 997 491.6 997 531.8 997 572 997 612.2 997 652.4 997 692.6 997 732.9 997 773.1 997 813.3 997 853.5 997 893.7 986.8 923.9 976.6 954 946 964.1 915.3 974.2 874.4 974.2 833.6 974.2 792.7 974.2 751.8 974.2 711 974.2 670.1 974.2 629.2 974.2 588.3 974.2 547.5 974.2 506.6 974.2 465.7 974.2 424.9 974.2 384 974.2 343.1 974.2 302.2 974.2 261.4 974.2 220.5 974.2 179.6 974.2 138.8 974.2 97.9 974.2 67.2 964.1 36.6 954 26.4 923.9 16.2 893.7 16.2 853.5 16.2 813.3 16.2 773.1 16.2 732.9 16.2 692.6 16.2 652.4 16.2 612.2 16.2 572 16.2 531.8 16.2 491.6 16.2 451.3 16.2 411.1 26.4 381 36.6 350.8 57 330.7 77.5 310.6 97.9 290.5 118.3 270.4 138.8 250.3 159.2 230.2 179.6 210.1 200.1 189.9 220.5 169.8 240.9 149.7 261.4 129.6 281.8 109.5 302.2 89.4 322.7 69.3 343.1 49.2M792.7 893.7Q833.6 893.7 864.2 883.7 894.9 873.6 905.1 843.4 915.3 813.3 915.3 773.1 915.3 732.9 915.3 692.6 915.3 652.4 915.3 612.2 915.3 572 905.1 541.8 894.9 511.7 874.4 491.6 854 471.5 833.6 451.3 813.1 431.2 792.7 411.1 772.3 391 751.8 370.9 731.4 350.8 711 350.8 690.5 350.8 670.1 370.9 649.6 391 629.2 391 608.8 391 588.3 370.9 567.9 350.8 547.5 330.7 527 310.6 506.6 290.5 486.2 270.4 465.7 250.3 445.3 230.2 424.9 210.1 404.4 189.9 384 189.9 363.6 189.9 343.1 210.1 322.7 230.2 302.2 250.3 281.8 270.4 261.4 290.5 240.9 310.6 220.5 330.7 200.1 350.8 179.6 370.9 159.2 391 138.8 411.1 118.3 431.2 108.1 461.4 97.9 491.6 97.9 531.8 97.9 572 97.9 612.2 97.9 652.4 97.9 692.6 97.9 732.9 97.9 773.1 97.9 813.3 108.1 843.4 118.3 873.6 149 883.7 179.6 893.7 220.5 893.7 261.4 893.7 302.2 893.7 343.1 893.7 384 893.7 424.9 893.7 465.7 893.7 506.6 893.7 547.5 893.7 588.3 893.7 629.2 893.7 670.1 893.7 711 893.7 751.8 893.7 792.7 893.7", + "width": 1021 + }, + "search": [ + "terrain" + ] + }, + { + "uid": "777bee87001d4219672e09caa12e1c78", + "css": "crafting", + "code": 59425, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M909.1 62.9Q923.1 21 965 7 1007-7 1049 7 1090.9 21 1104.9 62.9 1118.9 104.9 1118.9 160.8 1118.9 216.8 1118.9 272.7 1118.9 328.7 1118.9 384.6 1118.9 440.6 1118.9 496.5 1118.9 552.4 1118.9 608.4 1118.9 664.3 1118.9 720.3 1118.9 776.2 1118.9 832.2 1118.9 888.1 1104.9 930.1 1090.9 972 1049 986 1007 1000 951 1000 895.1 1000 839.2 1000 783.2 1000 727.3 1000 671.3 1000 615.4 1000 559.4 1000 503.5 1000 447.6 1000 391.6 1000 335.7 1000 279.7 1000 223.8 1000 167.8 1000 111.9 1000 69.9 986 28 972 14 930.1 0 888.1 0 832.2 0 776.2 0 720.3 0 664.3 0 608.4 0 552.4 0 496.5 0 440.6 0 384.6 0 328.7 0 272.7 0 216.8 14 174.8 28 132.9 55.9 132.9 83.9 132.9 111.9 160.8 139.9 188.8 167.8 216.8 195.8 244.8 223.8 272.7 251.7 300.7 279.7 328.7 307.7 356.6 335.7 384.6 363.6 412.6 391.6 412.6 419.6 412.6 433.6 370.6 447.6 328.7 447.6 272.7 447.6 216.8 461.5 174.8 475.5 132.9 503.5 132.9 531.5 132.9 559.4 160.8 587.4 188.8 615.4 216.8 643.4 244.8 671.3 272.7 699.3 300.7 727.3 328.7 755.2 356.6 783.2 384.6 811.2 412.6 839.2 412.6 867.1 412.6 881.1 370.6 895.1 328.7 895.1 272.7 895.1 216.8 895.1 160.8 895.1 104.9 909.1 62.9M839.2 888.1Q895.1 888.1 937.1 874.1 979 860.1 993 818.2 1007 776.2 1007 720.3 1007 664.3 993 622.4 979 580.4 937.1 566.4 895.1 552.4 853.1 538.5 811.2 524.5 783.2 496.5 755.2 468.5 727.3 440.6 699.3 412.6 671.3 384.6 643.4 356.6 615.4 356.6 587.4 356.6 573.4 398.6 559.4 440.6 545.5 482.5 531.5 524.5 489.5 538.5 447.6 552.4 405.6 538.5 363.6 524.5 335.7 496.5 307.7 468.5 279.7 440.6 251.7 412.6 223.8 384.6 195.8 356.6 167.8 356.6 139.9 356.6 125.9 398.6 111.9 440.6 111.9 496.5 111.9 552.4 111.9 608.4 111.9 664.3 111.9 720.3 111.9 776.2 125.9 818.2 139.9 860.1 181.8 874.1 223.8 888.1 279.7 888.1 335.7 888.1 391.6 888.1 447.6 888.1 503.5 888.1 559.4 888.1 615.4 888.1 671.3 888.1 727.3 888.1 783.2 888.1 839.2 888.1M251.7 720.3Q251.7 692.3 279.7 692.3 307.7 692.3 307.7 720.3 307.7 748.3 279.7 748.3 251.7 748.3 251.7 720.3M475.5 720.3Q475.5 692.3 503.5 692.3 531.5 692.3 531.5 720.3 531.5 748.3 503.5 748.3 475.5 748.3 475.5 720.3M699.3 720.3Q699.3 692.3 727.3 692.3 755.2 692.3 755.2 720.3 755.2 748.3 727.3 748.3 699.3 748.3 699.3 720.3", + "width": 1119 + }, + "search": [ + "crafting" + ] + }, + { + "uid": "39651356f0f411effa9ab4a83abd2d0d", + "css": "defense", + "code": 59465, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M101.3 0C88.6 0 75.9 2.1 63.3 6.3 38 14.8 21.1 31.6 12.7 57 4.2 82.3 0 111.8 0 145.6V246.8 348.1 449.4C0 483.1 4.2 512.7 12.7 538 21.1 563.3 33.8 584.4 50.6 601.3L101.3 651.9 151.9 702.5 202.5 753.2 253.2 803.8 303.8 854.4 354.4 905.1 405.1 955.7C421.9 972.6 443 985.2 468.4 993.7 493.7 1002.1 519 1002.1 544.3 993.7 569.6 985.2 590.7 972.6 607.6 955.7L658.2 905.1 708.9 854.4 759.5 803.8 810.1 753.2 860.8 702.5 911.4 651.9 962 601.3C978.9 584.4 991.6 563.3 1000 538 1008.4 512.7 1012.7 483.1 1012.7 449.4V348.1 246.8 145.6C1012.7 111.8 1008.4 82.3 1000 57 991.6 31.6 974.7 14.8 949.4 6.3 924.1-2.1 898.7-2.1 873.4 6.3 848.1 14.8 827 27.4 810.1 44.3L759.5 94.9 708.9 145.6C692 162.4 670.9 175.1 645.6 183.5 620.3 192 590.7 196.2 557 196.2H455.7C421.9 196.2 392.4 192 367.1 183.5 341.8 175.1 320.7 162.4 303.8 145.6L253.2 94.9 202.5 44.3C185.7 27.4 164.6 14.8 139.2 6.3 126.6 2.1 113.9 0 101.3 0ZM151.9 120.3C168.8 120.3 185.7 128.7 202.5 145.6L253.2 196.2 303.8 246.8C320.7 263.7 341.8 276.4 367.1 284.8 392.4 293.2 421.9 297.5 455.7 297.5H557C590.7 297.5 620.3 293.2 645.6 284.8 670.9 276.4 692 263.7 708.9 246.8L759.5 196.2 810.1 145.6C827 128.7 843.9 120.3 860.8 120.3 877.6 120.3 890.3 132.9 898.7 158.2 907.2 183.5 911.4 213.1 911.4 246.8V348.1 449.4C911.4 483.1 907.2 512.7 898.7 538 890.3 563.3 877.6 584.4 860.8 601.3L810.1 651.9 759.5 702.5 708.9 753.2 658.2 803.8 607.6 854.4C590.7 871.3 569.6 884 544.3 892.4 519 900.8 493.7 900.8 468.4 892.4 443 884 421.9 871.3 405.1 854.4L354.4 803.8 303.8 753.2 253.2 702.5 202.5 651.9 151.9 601.3C135 584.4 122.4 563.3 113.9 538 105.5 512.7 101.3 483.1 101.3 449.4V348.1 246.8C101.3 213.1 105.5 183.5 113.9 158.2 122.4 132.9 135 120.3 151.9 120.3Z", + "width": 1013 + }, + "search": [ + "defense" + ] + }, + { + "uid": "10e2d46ee8b987f0a414451439b23036", + "css": "effect", + "code": 59466, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M250 0C216.7 0 187.5 4.2 162.5 12.5 137.5 20.8 116.7 33.3 100 50L50 100C33.3 116.7 20.8 137.5 12.5 162.5 4.2 187.5 0 216.7 0 250V350 450 550 650 750C0 783.3 4.2 812.5 12.5 837.5 20.8 862.5 33.3 883.3 50 900L100 950C116.7 966.7 137.5 979.2 162.5 987.5 187.5 995.8 216.7 1000 250 1000H350 450 550 650 750C783.3 1000 812.5 995.8 837.5 987.5 862.5 979.2 883.3 966.7 900 950L950 900C966.7 883.3 979.2 862.5 987.5 837.5 995.8 812.5 1000 783.3 1000 750V650 550 450 350 250C1000 216.7 995.8 187.5 987.5 162.5 979.2 137.5 966.7 116.7 950 100L900 50C883.3 33.3 862.5 20.8 837.5 12.5 812.5 4.2 783.3 0 750 0H650 550 450 350ZM350 100H450 550 650C683.3 100 712.5 104.2 737.5 112.5 762.5 120.8 783.3 133.3 800 150L850 200C866.7 216.7 879.2 237.5 887.5 262.5 895.8 287.5 900 316.7 900 350V450 550 650C900 683.3 895.8 712.5 887.5 737.5 879.2 762.5 866.7 783.3 850 800L800 850C783.3 866.7 762.5 879.2 737.5 887.5 712.5 895.8 683.3 900 650 900H550 450 350C316.7 900 287.5 895.8 262.5 887.5 237.5 879.2 216.7 866.7 200 850L150 800C133.3 783.3 120.8 762.5 112.5 737.5 104.2 712.5 100 683.3 100 650V550 450 350C100 316.7 104.2 287.5 112.5 262.5 120.8 237.5 133.3 216.7 150 200L200 150C216.7 133.3 237.5 120.8 262.5 112.5 287.5 104.2 316.7 100 350 100ZM500 306.3C487.5 306.3 475 308.3 462.5 312.5 437.5 320.8 416.7 333.3 400 350L350 400C333.3 416.7 320.8 437.5 312.5 462.5 304.2 487.5 304.2 512.5 312.5 537.5 320.8 562.5 333.3 583.3 350 600L400 650C416.7 666.7 437.5 679.2 462.5 687.5 487.5 695.8 512.5 695.8 537.5 687.5 562.5 679.2 583.3 666.7 600 650L650 600C666.7 583.3 679.2 562.5 687.5 537.5 695.8 512.5 695.8 487.5 687.5 462.5 679.2 437.5 666.7 416.7 650 400L600 350C583.3 333.3 562.5 320.8 537.5 312.5 525 308.3 512.5 306.3 500 306.3Z", + "width": 1000 + }, + "search": [ + "effect" + ] + }, + { + "uid": "a4d157485929f47f7a7872bac82ffbb7", + "css": "liquid", + "code": 59467, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M0 57.1Q0 28.6 42.9 14.3 85.7 0 142.9 0 200 0 257.1 0 314.3 0 371.4 0 428.6 0 485.7 0 542.9 0 600 0 657.1 0 700 14.3 742.9 28.6 742.9 57.1 742.9 85.7 714.3 114.3 685.7 142.9 671.4 185.7 657.1 228.6 671.4 271.4 685.7 314.3 728.6 328.6 771.4 342.9 814.3 328.6 857.1 314.3 885.7 285.7 914.3 257.1 942.9 257.1 971.4 257.1 985.7 300 1000 342.9 1000 400 1000 457.1 1000 514.3 1000 571.4 1000 628.6 1000 685.7 1000 742.9 1000 800 1000 857.1 1000 914.3 985.7 957.1 971.4 1000 942.9 1000 914.3 1000 885.7 971.4 857.1 942.9 814.3 928.6 771.4 914.3 714.3 914.3 657.1 914.3 600 914.3 542.9 914.3 485.7 914.3 428.6 914.3 385.7 900 342.9 885.7 314.3 857.1 285.7 828.6 257.1 800 228.6 771.4 200 742.9 171.4 714.3 142.9 685.7 114.3 657.1 100 614.3 85.7 571.4 85.7 514.3 85.7 457.1 85.7 400 85.7 342.9 85.7 285.7 85.7 228.6 71.4 185.7 57.1 142.9 28.6 114.3 0 85.7 0 57.1M714.3 800Q771.4 800 814.3 785.7 857.1 771.4 871.4 728.6 885.7 685.7 885.7 628.6 885.7 571.4 871.4 528.6 857.1 485.7 814.3 471.4 771.4 457.1 728.6 442.9 685.7 428.6 657.1 400 628.6 371.4 600 342.9 571.4 314.3 557.1 271.4 542.9 228.6 528.6 185.7 514.3 142.9 471.4 128.6 428.6 114.3 371.4 114.3 314.3 114.3 271.4 128.6 228.6 142.9 214.3 185.7 200 228.6 200 285.7 200 342.9 200 400 200 457.1 200 514.3 200 571.4 214.3 614.3 228.6 657.1 257.1 685.7 285.7 714.3 314.3 742.9 342.9 771.4 385.7 785.7 428.6 800 485.7 800 542.9 800 600 800 657.1 800 714.3 800", + "width": 1000 + }, + "search": [ + "liquid" + ] + }, + { + "uid": "757a660cd53e3349515bc329726c3dbd", + "css": "production", + "code": 59469, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M7 69.9Q21 28 62.9 14 104.9 0 160.8 0 216.8 0 272.7 0 328.7 0 384.6 0 440.6 0 496.5 0 552.4 0 608.4 0 664.3 0 720.3 0 776.2 0 818.2 14 860.1 28 874.1 69.9 888.1 111.9 874.1 153.8 860.1 195.8 832.2 223.8 804.2 251.7 776.2 279.7 748.3 307.7 720.3 335.7 692.3 363.6 678.3 405.6 664.3 447.6 664.3 503.5 664.3 559.4 664.3 615.4 664.3 671.3 664.3 727.3 664.3 783.2 650.3 825.2 636.4 867.1 608.4 895.1 580.4 923.1 552.4 951 524.5 979 482.5 993 440.6 1007 398.6 993 356.6 979 328.7 951 300.7 923.1 272.7 895.1 244.8 867.1 230.8 825.2 216.8 783.2 216.8 727.3 216.8 671.3 216.8 615.4 216.8 559.4 216.8 503.5 216.8 447.6 202.8 405.6 188.8 363.6 160.8 335.7 132.9 307.7 104.9 279.7 76.9 251.7 49 223.8 21 195.8 7 153.8-7 111.9 7 69.9M342.7 825.2Q356.6 867.1 384.6 867.1 412.6 867.1 440.6 839.2 468.5 811.2 496.5 783.2 524.5 755.2 524.5 727.3 524.5 699.3 496.5 671.3 468.5 643.4 468.5 615.4 468.5 587.4 496.5 559.4 524.5 531.5 524.5 503.5 524.5 475.5 496.5 447.6 468.5 419.6 440.6 391.6 412.6 363.6 384.6 363.6 356.6 363.6 342.7 405.6 328.7 447.6 328.7 503.5 328.7 559.4 328.7 615.4 328.7 671.3 328.7 727.3 328.7 783.2 342.7 825.2M608.4 223.8Q664.3 223.8 706.3 209.8 748.3 195.8 748.3 167.8 748.3 139.9 706.3 125.9 664.3 111.9 608.4 111.9 552.4 111.9 496.5 111.9 440.6 111.9 384.6 111.9 328.7 111.9 272.7 111.9 216.8 111.9 174.8 125.9 132.9 139.9 132.9 167.8 132.9 195.8 174.8 209.8 216.8 223.8 272.7 223.8 328.7 223.8 384.6 223.8 440.6 223.8 496.5 223.8 552.4 223.8 608.4 223.8", + "width": 881 + }, + "search": [ + "production" + ] + }, + { + "uid": "fffdfd2df00136ae95e542b0af62d8fa", + "css": "turret", + "code": 59470, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M125.9 62.9Q139.9 21 181.8 7 223.8-7 265.7 7 307.7 21 321.7 62.9 335.7 104.9 349.7 146.9 363.6 188.8 405.6 202.8 447.6 216.8 489.5 202.8 531.5 188.8 545.5 146.9 559.4 104.9 573.4 62.9 587.4 21 629.4 7 671.3-7 713.3 7 755.2 21 769.2 62.9 783.2 104.9 783.2 160.8 783.2 216.8 783.2 272.7 783.2 328.7 797.2 370.6 811.2 412.6 839.2 440.6 867.1 468.5 881.1 510.5 895.1 552.4 895.1 608.4 895.1 664.3 895.1 720.3 895.1 776.2 895.1 832.2 895.1 888.1 881.1 930.1 867.1 972 825.2 986 783.2 1000 727.3 1000 671.3 1000 629.4 986 587.4 972 559.4 944.1 531.5 916.1 489.5 902.1 447.6 888.1 405.6 902.1 363.6 916.1 335.7 944.1 307.7 972 265.7 986 223.8 1000 167.8 1000 111.9 1000 69.9 986 28 972 14 930.1 0 888.1 0 832.2 0 776.2 0 720.3 0 664.3 0 608.4 0 552.4 14 510.5 28 468.5 55.9 440.6 83.9 412.6 97.9 370.6 111.9 328.7 111.9 272.7 111.9 216.8 111.9 160.8 111.9 104.9 125.9 62.9M629.4 874.1Q671.3 888.1 713.3 874.1 755.2 860.1 769.2 818.2 783.2 776.2 783.2 720.3 783.2 664.3 783.2 608.4 783.2 552.4 769.2 510.5 755.2 468.5 727.3 440.6 699.3 412.6 671.3 384.6 643.4 356.6 601.4 342.7 559.4 328.7 503.5 328.7 447.6 328.7 391.6 328.7 335.7 328.7 293.7 342.7 251.7 356.6 223.8 384.6 195.8 412.6 167.8 440.6 139.9 468.5 125.9 510.5 111.9 552.4 111.9 608.4 111.9 664.3 111.9 720.3 111.9 776.2 125.9 818.2 139.9 860.1 181.8 874.1 223.8 888.1 265.7 874.1 307.7 860.1 335.7 832.2 363.6 804.2 405.6 790.2 447.6 776.2 489.5 790.2 531.5 804.2 559.4 832.2 587.4 860.1 629.4 874.1", + "width": 895 + }, + "search": [ + "turret" + ] + }, + { + "uid": "dbc386322a6eec797d94d5cf2af56dc3", + "css": "units", + "code": 59471, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M566.9 0C524.9 0 488.2 5.2 456.7 15.7 425.2 26.2 399 42 378 63L315 126 252 189 189 252 126 315 63 378C42 399 26.2 425.2 15.7 456.7 5.2 488.2 0 524.9 0 566.9 0 608.9 5.2 645.7 15.7 677.2 26.2 708.7 42 724.4 63 724.4 84 724.4 105 713.9 126 692.9 147 671.9 168 661.4 189 661.4 210 661.4 225.7 677.2 236.2 708.7 246.7 740.2 252 776.9 252 818.9 252 860.9 257.2 897.6 267.7 929.1 278.2 960.6 299.2 981.6 330.7 992.1 362.2 1002.6 393.7 1002.6 425.2 992.1 456.7 981.6 477.7 960.6 488.2 929.1L519.7 834.6C530.2 803.1 551.2 782.2 582.7 771.7 614.2 761.2 645.7 761.2 677.2 771.7 708.7 782.2 729.7 803.1 740.2 834.6L771.7 929.1C782.2 960.6 803.1 981.6 834.6 992.1 866.1 1002.6 897.6 1002.6 929.1 992.1 960.6 981.6 981.6 960.6 992.1 929.1 1002.6 897.6 1007.9 860.9 1007.9 818.9 1007.9 776.9 1013.1 740.2 1023.6 708.7 1034.1 677.2 1049.9 661.4 1070.9 661.4 1091.9 661.4 1112.9 671.9 1133.9 692.9 1154.9 713.9 1175.9 724.4 1196.9 724.4 1217.8 724.4 1233.6 708.7 1244.1 677.2 1254.6 645.7 1259.8 608.9 1259.8 566.9 1259.8 524.9 1254.6 488.2 1244.1 456.7 1233.6 425.2 1217.8 399 1196.9 378L1133.9 315 1070.9 252 1007.9 189 944.9 126 881.9 63C860.9 42 834.6 26.2 803.1 15.7 771.7 5.2 734.9 0 692.9 0ZM566.9 126H692.9C734.9 126 771.7 131.2 803.1 141.7 834.6 152.2 860.9 168 881.9 189L944.9 252 1007.9 315 1070.9 378C1091.9 399 1102.4 419.9 1102.4 440.9 1102.4 461.9 1086.6 477.7 1055.1 488.2L960.6 519.7C929.1 530.2 902.9 545.9 881.9 566.9 860.9 587.9 834.6 603.7 803.1 614.2 771.7 624.7 734.9 629.9 692.9 629.9H566.9C524.9 629.9 488.2 624.7 456.7 614.2 425.2 603.7 399 587.9 378 566.9 357 545.9 330.7 530.2 299.2 519.7L204.7 488.2C173.2 477.7 157.5 461.9 157.5 440.9 157.5 419.9 168 399 189 378L252 315 315 252 378 189C399 168 425.2 152.2 456.7 141.7 488.2 131.2 524.9 126 566.9 126ZM629.9 259.8C614.2 259.8 598.4 262.5 582.7 267.7 551.2 278.2 535.4 294 535.4 315 535.4 336 551.2 351.7 582.7 362.2 614.2 372.7 645.7 372.7 677.2 362.2 708.7 351.7 724.4 336 724.4 315 724.4 294 708.7 278.2 677.2 267.7 661.4 262.5 645.7 259.8 629.9 259.8Z", + "width": 1260 + }, + "search": [ + "units" + ] + }, + { + "uid": "4fe8d91bf30522a9a76bab94836b2dd7", + "css": "upgrade", + "code": 59472, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M396.2 44Q421.4 18.9 459.1 6.3 496.9-6.3 534.6 6.3 572.3 18.9 597.5 44 622.6 69.2 647.8 94.3 673 119.5 698.1 144.7 723.3 169.8 748.4 195 773.6 220.1 798.7 245.3 823.9 270.4 849.1 295.6 874.2 320.8 899.4 345.9 924.5 371.1 949.7 396.2 974.8 421.4 987.4 459.1 1000 496.9 987.4 534.6 974.8 572.3 937.1 584.9 899.4 597.5 849.1 597.5 798.7 597.5 761 610.1 723.3 622.6 710.7 660.4 698.1 698.1 698.1 748.4 698.1 798.7 698.1 849.1 698.1 899.4 685.5 937.1 673 974.8 635.2 987.4 597.5 1000 547.2 1000 496.9 1000 446.5 1000 396.2 1000 358.5 987.4 320.8 974.8 308.2 937.1 295.6 899.4 295.6 849.1 295.6 798.7 295.6 748.4 295.6 698.1 283 660.4 270.4 622.6 232.7 610.1 195 597.5 144.7 597.5 94.3 597.5 56.6 584.9 18.9 572.3 6.3 534.6-6.3 496.9 6.3 459.1 18.9 421.4 44 396.2 69.2 371.1 94.3 345.9 119.5 320.8 144.7 295.6 169.8 270.4 195 245.3 220.1 220.1 245.3 195 270.4 169.8 295.6 144.7 320.8 119.5 345.9 94.3 371.1 69.2 396.2 44M459.1 886.8Q496.9 899.4 534.6 886.8 572.3 874.2 584.9 836.5 597.5 798.7 597.5 748.4 597.5 698.1 597.5 647.8 597.5 597.5 610.1 559.7 622.6 522 660.4 509.4 698.1 496.9 735.8 484.3 773.6 471.7 773.6 446.5 773.6 421.4 748.4 396.2 723.3 371.1 698.1 345.9 673 320.8 647.8 295.6 622.6 270.4 597.5 245.3 572.3 220.1 534.6 207.5 496.9 195 459.1 207.5 421.4 220.1 396.2 245.3 371.1 270.4 345.9 295.6 320.8 320.8 295.6 345.9 270.4 371.1 245.3 396.2 220.1 421.4 220.1 446.5 220.1 471.7 257.9 484.3 295.6 496.9 333.3 509.4 371.1 522 383.6 559.7 396.2 597.5 396.2 647.8 396.2 698.1 396.2 748.4 396.2 798.7 408.8 836.5 421.4 874.2 459.1 886.8", + "width": 994 + }, + "search": [ + "upgrade" + ] + }, + { + "uid": "8cbea4558186fc7f4197ccba882dd534", + "css": "save", + "code": 59440, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M11.4 56.8Q22.7 22.7 56.8 11.4 90.9 0 136.4 0 181.8 0 227.3 0 272.7 0 318.2 0 363.6 0 409.1 0 454.5 0 500 0 545.5 0 590.9 0 636.4 0 681.8 0 727.3 0 761.4 11.4 795.5 22.7 818.2 45.5 840.9 68.2 863.6 90.9 886.4 113.6 897.7 147.7 909.1 181.8 909.1 227.3 909.1 272.7 909.1 318.2 909.1 363.6 909.1 409.1 909.1 454.5 909.1 500 909.1 545.5 909.1 590.9 909.1 636.4 909.1 681.8 909.1 727.3 909.1 772.7 909.1 818.2 909.1 863.6 909.1 909.1 897.7 943.2 886.4 977.3 852.3 988.6 818.2 1000 772.7 1000 727.3 1000 681.8 1000 636.4 1000 590.9 1000 545.5 1000 500 1000 454.5 1000 409.1 1000 363.6 1000 318.2 1000 272.7 1000 227.3 1000 181.8 1000 136.4 1000 90.9 1000 56.8 988.6 22.7 977.3 11.4 943.2 0 909.1 0 863.6 0 818.2 0 772.7 0 727.3 0 681.8 0 636.4 0 590.9 0 545.5 0 500 0 454.5 0 409.1 0 363.6 0 318.2 0 272.7 0 227.3 0 181.8 0 136.4 0 90.9 11.4 56.8M500 909.1Q545.5 909.1 579.5 897.7 613.6 886.4 625 852.3 636.4 818.2 636.4 772.7 636.4 727.3 625 693.2 613.6 659.1 579.5 647.7 545.5 636.4 500 636.4 454.5 636.4 409.1 636.4 363.6 636.4 329.5 647.7 295.5 659.1 284.1 693.2 272.7 727.3 272.7 772.7 272.7 818.2 284.1 852.3 295.5 886.4 329.5 897.7 363.6 909.1 409.1 909.1 454.5 909.1 500 909.1M738.6 852.3Q750 886.4 772.7 886.4 795.5 886.4 806.8 852.3 818.2 818.2 818.2 772.7 818.2 727.3 818.2 681.8 818.2 636.4 818.2 590.9 818.2 545.5 818.2 500 818.2 454.5 818.2 409.1 818.2 363.6 818.2 318.2 818.2 272.7 818.2 227.3 818.2 181.8 806.8 147.7 795.5 113.6 761.4 102.3 727.3 90.9 693.2 102.3 659.1 113.6 647.7 147.7 636.4 181.8 636.4 227.3 636.4 272.7 625 306.8 613.6 340.9 579.5 352.3 545.5 363.6 500 363.6 454.5 363.6 409.1 363.6 363.6 363.6 329.5 352.3 295.5 340.9 284.1 306.8 272.7 272.7 272.7 227.3 272.7 181.8 261.4 147.7 250 113.6 215.9 102.3 181.8 90.9 147.7 102.3 113.6 113.6 102.3 147.7 90.9 181.8 90.9 227.3 90.9 272.7 90.9 318.2 90.9 363.6 90.9 409.1 90.9 454.5 90.9 500 90.9 545.5 90.9 590.9 90.9 636.4 90.9 681.8 90.9 727.3 90.9 772.7 90.9 818.2 102.3 852.3 113.6 886.4 136.4 886.4 159.1 886.4 170.5 852.3 181.8 818.2 181.8 772.7 181.8 727.3 181.8 681.8 181.8 636.4 193.2 602.3 204.5 568.2 238.6 556.8 272.7 545.5 318.2 545.5 363.6 545.5 409.1 545.5 454.5 545.5 500 545.5 545.5 545.5 590.9 545.5 636.4 545.5 670.5 556.8 704.5 568.2 715.9 602.3 727.3 636.4 727.3 681.8 727.3 727.3 727.3 772.7 727.3 818.2 738.6 852.3M420.5 261.4Q454.5 272.7 488.6 261.4 522.7 250 534.1 215.9 545.5 181.8 534.1 147.7 522.7 113.6 488.6 102.3 454.5 90.9 420.5 102.3 386.4 113.6 375 147.7 363.6 181.8 375 215.9 386.4 250 420.5 261.4", + "width": 909 + }, + "search": [ + "save" + ] + }, + { + "uid": "a6b6f85116fc55e4a7c83d66973035a7", + "css": "exit_", + "code": 61485, + "src": "mfglabs" + }, + { + "uid": "dd6df3b754e8d0dbf09d9b24088f0442", + "css": "box", + "code": 59422, + "src": "iconic" } ] } diff --git a/core/assets-raw/fontgen/icons/admin.svg b/core/assets-raw/fontgen/icons/admin.svg new file mode 100644 index 0000000000..8b6e5e5220 --- /dev/null +++ b/core/assets-raw/fontgen/icons/admin.svg @@ -0,0 +1,62 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/core/assets-raw/fontgen/icons/crafting.svg b/core/assets-raw/fontgen/icons/crafting.svg new file mode 100644 index 0000000000..7f2e56d27c --- /dev/null +++ b/core/assets-raw/fontgen/icons/crafting.svg @@ -0,0 +1,77 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/core/assets-raw/fontgen/icons/defense.svg b/core/assets-raw/fontgen/icons/defense.svg new file mode 100644 index 0000000000..0891560c0a --- /dev/null +++ b/core/assets-raw/fontgen/icons/defense.svg @@ -0,0 +1,63 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/core/assets-raw/fontgen/icons/effect.svg b/core/assets-raw/fontgen/icons/effect.svg new file mode 100644 index 0000000000..004fecdb71 --- /dev/null +++ b/core/assets-raw/fontgen/icons/effect.svg @@ -0,0 +1,62 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/core/assets-raw/fontgen/icons/hammer.svg b/core/assets-raw/fontgen/icons/hammer.svg new file mode 100644 index 0000000000..a9ec0312f5 --- /dev/null +++ b/core/assets-raw/fontgen/icons/hammer.svg @@ -0,0 +1,62 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/core/assets-raw/fontgen/icons/liquid.svg b/core/assets-raw/fontgen/icons/liquid.svg new file mode 100644 index 0000000000..6eb50596d8 --- /dev/null +++ b/core/assets-raw/fontgen/icons/liquid.svg @@ -0,0 +1,62 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/core/assets-raw/fontgen/icons/power.svg b/core/assets-raw/fontgen/icons/power.svg new file mode 100644 index 0000000000..6d6a5063f2 --- /dev/null +++ b/core/assets-raw/fontgen/icons/power.svg @@ -0,0 +1,62 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/core/assets-raw/fontgen/icons/production.svg b/core/assets-raw/fontgen/icons/production.svg new file mode 100644 index 0000000000..74f0f882a9 --- /dev/null +++ b/core/assets-raw/fontgen/icons/production.svg @@ -0,0 +1,62 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/core/assets-raw/fontgen/icons/save.svg b/core/assets-raw/fontgen/icons/save.svg new file mode 100644 index 0000000000..d2b0776e95 --- /dev/null +++ b/core/assets-raw/fontgen/icons/save.svg @@ -0,0 +1,62 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/core/assets-raw/fontgen/icons/terrain.svg b/core/assets-raw/fontgen/icons/terrain.svg new file mode 100644 index 0000000000..efaa8a3889 --- /dev/null +++ b/core/assets-raw/fontgen/icons/terrain.svg @@ -0,0 +1,62 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/core/assets-raw/fontgen/icons/turret.svg b/core/assets-raw/fontgen/icons/turret.svg new file mode 100644 index 0000000000..12009fa1f3 --- /dev/null +++ b/core/assets-raw/fontgen/icons/turret.svg @@ -0,0 +1,62 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/core/assets-raw/fontgen/icons/units.svg b/core/assets-raw/fontgen/icons/units.svg new file mode 100644 index 0000000000..969b63e096 --- /dev/null +++ b/core/assets-raw/fontgen/icons/units.svg @@ -0,0 +1,62 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/core/assets-raw/fontgen/icons/upgrade.svg b/core/assets-raw/fontgen/icons/upgrade.svg new file mode 100644 index 0000000000..9cee75f283 --- /dev/null +++ b/core/assets-raw/fontgen/icons/upgrade.svg @@ -0,0 +1,62 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/core/assets-raw/sprites/ui/icons/icon-about.png b/core/assets-raw/sprites/ui/icons/icon-about.png deleted file mode 100644 index 3943975b97..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-about.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-add.png b/core/assets-raw/sprites/ui/icons/icon-add.png deleted file mode 100644 index 328c8ca469..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-add.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-admin-badge.png b/core/assets-raw/sprites/ui/icons/icon-admin-badge.png deleted file mode 100644 index 6a2afe9e24..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-admin-badge.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-admin.png b/core/assets-raw/sprites/ui/icons/icon-admin.png deleted file mode 100644 index f4101c0423..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-admin.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-arrow-16.png b/core/assets-raw/sprites/ui/icons/icon-arrow-16.png deleted file mode 100644 index 954b1995fd..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-arrow-16.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-arrow-down.png b/core/assets-raw/sprites/ui/icons/icon-arrow-down.png deleted file mode 100644 index bf9e1ff860..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-arrow-down.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-arrow-left.png b/core/assets-raw/sprites/ui/icons/icon-arrow-left.png deleted file mode 100644 index 15678f32b1..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-arrow-left.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-arrow-right.png b/core/assets-raw/sprites/ui/icons/icon-arrow-right.png deleted file mode 100644 index b09556172d..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-arrow-right.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-arrow-up.png b/core/assets-raw/sprites/ui/icons/icon-arrow-up.png deleted file mode 100644 index 8a7546126d..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-arrow-up.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-arrow.png b/core/assets-raw/sprites/ui/icons/icon-arrow.png deleted file mode 100644 index 954b1995fd..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-arrow.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-back.png b/core/assets-raw/sprites/ui/icons/icon-back.png deleted file mode 100644 index ef470961d6..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-back.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-ban.png b/core/assets-raw/sprites/ui/icons/icon-ban.png deleted file mode 100644 index 1ee4a5c3bf..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-ban.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-break.png b/core/assets-raw/sprites/ui/icons/icon-break.png deleted file mode 100644 index c4b079735c..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-break.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-cancel.png b/core/assets-raw/sprites/ui/icons/icon-cancel.png deleted file mode 100644 index 03ea12174f..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-cancel.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-changelog.png b/core/assets-raw/sprites/ui/icons/icon-changelog.png deleted file mode 100644 index e6fbf8d3c1..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-changelog.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-chat.png b/core/assets-raw/sprites/ui/icons/icon-chat.png deleted file mode 100644 index 85f52fa41c..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-chat.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-check.png b/core/assets-raw/sprites/ui/icons/icon-check.png deleted file mode 100644 index db96907362..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-check.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-command-attack.png b/core/assets-raw/sprites/ui/icons/icon-command-attack.png deleted file mode 100644 index 655f819338..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-command-attack.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-command-patrol.png b/core/assets-raw/sprites/ui/icons/icon-command-patrol.png deleted file mode 100644 index acf89f181a..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-command-patrol.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-command-rally.png b/core/assets-raw/sprites/ui/icons/icon-command-rally.png deleted file mode 100644 index 4271a5a321..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-command-rally.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-command-retreat.png b/core/assets-raw/sprites/ui/icons/icon-command-retreat.png deleted file mode 100644 index f40dcfe5cf..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-command-retreat.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-copy.png b/core/assets-raw/sprites/ui/icons/icon-copy.png deleted file mode 100644 index 0f03ee5d04..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-copy.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-crafting.png b/core/assets-raw/sprites/ui/icons/icon-crafting.png deleted file mode 100644 index 3f7022e87b..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-crafting.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-cursor.png b/core/assets-raw/sprites/ui/icons/icon-cursor.png deleted file mode 100644 index 1025a08a9e..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-cursor.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-database.png b/core/assets-raw/sprites/ui/icons/icon-database.png deleted file mode 100644 index 059fd6f219..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-database.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-defense.png b/core/assets-raw/sprites/ui/icons/icon-defense.png deleted file mode 100644 index 2ae509685e..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-defense.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-dev-builds.png b/core/assets-raw/sprites/ui/icons/icon-dev-builds.png deleted file mode 100644 index 27f46b6624..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-dev-builds.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-diagonal.png b/core/assets-raw/sprites/ui/icons/icon-diagonal.png deleted file mode 100644 index 262be1cebc..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-diagonal.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-discord.png b/core/assets-raw/sprites/ui/icons/icon-discord.png deleted file mode 100644 index 76bc4c8c43..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-discord.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-distribution.png b/core/assets-raw/sprites/ui/icons/icon-distribution.png deleted file mode 100644 index 3a202b38e8..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-distribution.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-donate.png b/core/assets-raw/sprites/ui/icons/icon-donate.png deleted file mode 100644 index cad39eb1ba..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-donate.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-dots.png b/core/assets-raw/sprites/ui/icons/icon-dots.png deleted file mode 100644 index a8d656d6cc..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-dots.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-editor.png b/core/assets-raw/sprites/ui/icons/icon-editor.png deleted file mode 100644 index 6cb0a64f9f..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-editor.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-effect.png b/core/assets-raw/sprites/ui/icons/icon-effect.png deleted file mode 100644 index 212034645b..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-effect.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-elevation.png b/core/assets-raw/sprites/ui/icons/icon-elevation.png deleted file mode 100644 index cbc30c8cc1..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-elevation.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-eraser.png b/core/assets-raw/sprites/ui/icons/icon-eraser.png deleted file mode 100644 index fc72acc9f2..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-eraser.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-exit.png b/core/assets-raw/sprites/ui/icons/icon-exit.png deleted file mode 100644 index fe1de5d9e4..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-exit.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-f-droid.png b/core/assets-raw/sprites/ui/icons/icon-f-droid.png deleted file mode 100644 index 1a2eca14f2..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-f-droid.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-fdroid.png b/core/assets-raw/sprites/ui/icons/icon-fdroid.png deleted file mode 100644 index 24c7cb884d..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-fdroid.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-feathub.png b/core/assets-raw/sprites/ui/icons/icon-feathub.png deleted file mode 100644 index ae1d06bf00..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-feathub.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-file-image.png b/core/assets-raw/sprites/ui/icons/icon-file-image.png deleted file mode 100644 index 254ea95f3d..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-file-image.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-file-text.png b/core/assets-raw/sprites/ui/icons/icon-file-text.png deleted file mode 100644 index 41b4fbc342..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-file-text.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-file.png b/core/assets-raw/sprites/ui/icons/icon-file.png deleted file mode 100644 index 0f41e17cbf..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-file.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-fill.png b/core/assets-raw/sprites/ui/icons/icon-fill.png deleted file mode 100644 index 79bc8b2c39..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-fill.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-flip.png b/core/assets-raw/sprites/ui/icons/icon-flip.png deleted file mode 100644 index d81d741434..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-flip.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-floppy-16.png b/core/assets-raw/sprites/ui/icons/icon-floppy-16.png deleted file mode 100644 index 6fd3f90850..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-floppy-16.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-floppy.png b/core/assets-raw/sprites/ui/icons/icon-floppy.png deleted file mode 100644 index e8ba657ab7..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-floppy.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-folder-parent.png b/core/assets-raw/sprites/ui/icons/icon-folder-parent.png deleted file mode 100644 index 160f2be902..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-folder-parent.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-folder.png b/core/assets-raw/sprites/ui/icons/icon-folder.png deleted file mode 100644 index c55313ef32..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-folder.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-github.png b/core/assets-raw/sprites/ui/icons/icon-github.png deleted file mode 100644 index 0de41be50d..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-github.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-google-play.png b/core/assets-raw/sprites/ui/icons/icon-google-play.png deleted file mode 100644 index 8464c51159..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-google-play.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-grid.png b/core/assets-raw/sprites/ui/icons/icon-grid.png deleted file mode 100644 index 5427571a16..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-grid.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-home.png b/core/assets-raw/sprites/ui/icons/icon-home.png deleted file mode 100644 index b97dba2a11..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-home.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-host.png b/core/assets-raw/sprites/ui/icons/icon-host.png deleted file mode 100644 index 6253c986bd..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-host.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-info.png b/core/assets-raw/sprites/ui/icons/icon-info.png deleted file mode 100644 index 7e2bb40037..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-info.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-itch.io.png b/core/assets-raw/sprites/ui/icons/icon-itch.io.png deleted file mode 100644 index b5bca0e50a..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-itch.io.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-item.png b/core/assets-raw/sprites/ui/icons/icon-item.png deleted file mode 100644 index 9dd6da2249..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-item.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-line.png b/core/assets-raw/sprites/ui/icons/icon-line.png deleted file mode 100644 index 5ce2cfdc78..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-line.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-link.png b/core/assets-raw/sprites/ui/icons/icon-link.png deleted file mode 100644 index 71446afcc0..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-link.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-liquid-consume.png b/core/assets-raw/sprites/ui/icons/icon-liquid-consume.png deleted file mode 100644 index 48c93ed9d2..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-liquid-consume.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-liquid.png b/core/assets-raw/sprites/ui/icons/icon-liquid.png deleted file mode 100644 index 1306834469..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-liquid.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-load-image.png b/core/assets-raw/sprites/ui/icons/icon-load-image.png deleted file mode 100644 index 88a162b628..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-load-image.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-load-map.png b/core/assets-raw/sprites/ui/icons/icon-load-map.png deleted file mode 100644 index 4aa244ab7c..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-load-map.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-load.png b/core/assets-raw/sprites/ui/icons/icon-load.png deleted file mode 100644 index ecbd0c08cf..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-load.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-loading.png b/core/assets-raw/sprites/ui/icons/icon-loading.png deleted file mode 100644 index 0fd2d5265d..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-loading.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-locked.png b/core/assets-raw/sprites/ui/icons/icon-locked.png deleted file mode 100644 index cdf11fe658..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-locked.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-map.png b/core/assets-raw/sprites/ui/icons/icon-map.png deleted file mode 100644 index 92ff76d74f..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-map.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-menu-large.png b/core/assets-raw/sprites/ui/icons/icon-menu-large.png deleted file mode 100644 index 36175b9942..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-menu-large.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-menu.png b/core/assets-raw/sprites/ui/icons/icon-menu.png deleted file mode 100644 index 0469f99721..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-menu.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-missing.png b/core/assets-raw/sprites/ui/icons/icon-missing.png deleted file mode 100644 index 6a9c5d9012..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-missing.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-mode-attack.png b/core/assets-raw/sprites/ui/icons/icon-mode-attack.png deleted file mode 100644 index c6aac86259..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-mode-attack.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-mode-pvp.png b/core/assets-raw/sprites/ui/icons/icon-mode-pvp.png deleted file mode 100644 index a98bb81e01..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-mode-pvp.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-mode-survival.png b/core/assets-raw/sprites/ui/icons/icon-mode-survival.png deleted file mode 100644 index c88da7b3b6..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-mode-survival.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-none.png b/core/assets-raw/sprites/ui/icons/icon-none.png deleted file mode 100644 index fcf22bc9da..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-none.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-paste.png b/core/assets-raw/sprites/ui/icons/icon-paste.png deleted file mode 100644 index 606165ed34..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-paste.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-pause.png b/core/assets-raw/sprites/ui/icons/icon-pause.png deleted file mode 100644 index 7471836eaa..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-pause.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-pencil.png b/core/assets-raw/sprites/ui/icons/icon-pencil.png deleted file mode 100644 index 053a283d08..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-pencil.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-pick.png b/core/assets-raw/sprites/ui/icons/icon-pick.png deleted file mode 100644 index dfd7743030..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-pick.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-play-2.png b/core/assets-raw/sprites/ui/icons/icon-play-2.png deleted file mode 100644 index c001e60b04..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-play-2.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-play-custom.png b/core/assets-raw/sprites/ui/icons/icon-play-custom.png deleted file mode 100644 index 78716a2fb0..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-play-custom.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-play.png b/core/assets-raw/sprites/ui/icons/icon-play.png deleted file mode 100644 index 8530e6b09d..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-play.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-players.png b/core/assets-raw/sprites/ui/icons/icon-players.png deleted file mode 100644 index be4746291f..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-players.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-power.png b/core/assets-raw/sprites/ui/icons/icon-power.png deleted file mode 100644 index 57fbb2f2bd..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-power.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-production.png b/core/assets-raw/sprites/ui/icons/icon-production.png deleted file mode 100644 index fe6c3523c0..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-production.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-quit.png b/core/assets-raw/sprites/ui/icons/icon-quit.png deleted file mode 100644 index 26a9634945..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-quit.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-reddit.png b/core/assets-raw/sprites/ui/icons/icon-reddit.png deleted file mode 100644 index 16be9726df..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-reddit.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-redo.png b/core/assets-raw/sprites/ui/icons/icon-redo.png deleted file mode 100644 index 4c53eb56ef..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-redo.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-refresh.png b/core/assets-raw/sprites/ui/icons/icon-refresh.png deleted file mode 100644 index cd1050f017..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-refresh.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-rename.png b/core/assets-raw/sprites/ui/icons/icon-rename.png deleted file mode 100644 index 4a6731a31b..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-rename.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-resize.png b/core/assets-raw/sprites/ui/icons/icon-resize.png deleted file mode 100644 index ee53c8470f..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-resize.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-rotate-arrow.png b/core/assets-raw/sprites/ui/icons/icon-rotate-arrow.png deleted file mode 100644 index 22039f3020..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-rotate-arrow.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-rotate-left.png b/core/assets-raw/sprites/ui/icons/icon-rotate-left.png deleted file mode 100644 index 9b05efec5f..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-rotate-left.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-rotate-right.png b/core/assets-raw/sprites/ui/icons/icon-rotate-right.png deleted file mode 100644 index 2009c9394d..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-rotate-right.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-rotate.png b/core/assets-raw/sprites/ui/icons/icon-rotate.png deleted file mode 100644 index 3c989a555f..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-rotate.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-save-image.png b/core/assets-raw/sprites/ui/icons/icon-save-image.png deleted file mode 100644 index 5234c4f2f4..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-save-image.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-save-map.png b/core/assets-raw/sprites/ui/icons/icon-save-map.png deleted file mode 100644 index 9066752d13..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-save-map.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-save.png b/core/assets-raw/sprites/ui/icons/icon-save.png deleted file mode 100644 index 1ed3fc4549..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-save.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-settings.png b/core/assets-raw/sprites/ui/icons/icon-settings.png deleted file mode 100644 index 51a969c401..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-settings.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-spray.png b/core/assets-raw/sprites/ui/icons/icon-spray.png deleted file mode 100644 index 17198d657b..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-spray.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-terrain.png b/core/assets-raw/sprites/ui/icons/icon-terrain.png deleted file mode 100644 index cc9c57380e..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-terrain.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-tools.png b/core/assets-raw/sprites/ui/icons/icon-tools.png deleted file mode 100644 index 2ece1ae8f4..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-tools.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-trash-16.png b/core/assets-raw/sprites/ui/icons/icon-trash-16.png deleted file mode 100644 index a1de49233b..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-trash-16.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-trash.png b/core/assets-raw/sprites/ui/icons/icon-trash.png deleted file mode 100644 index e0f419f2f3..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-trash.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-tree.png b/core/assets-raw/sprites/ui/icons/icon-tree.png deleted file mode 100644 index 0731f6a7e5..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-tree.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-trello.png b/core/assets-raw/sprites/ui/icons/icon-trello.png deleted file mode 100644 index 8e63ab3208..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-trello.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-turret.png b/core/assets-raw/sprites/ui/icons/icon-turret.png deleted file mode 100644 index 32fd01b464..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-turret.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-tutorial.png b/core/assets-raw/sprites/ui/icons/icon-tutorial.png deleted file mode 100644 index 40ba90a5e4..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-tutorial.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-undo.png b/core/assets-raw/sprites/ui/icons/icon-undo.png deleted file mode 100644 index cf5dd4c154..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-undo.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-units.png b/core/assets-raw/sprites/ui/icons/icon-units.png deleted file mode 100644 index 1ee9cd9f55..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-units.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-unlocks.png b/core/assets-raw/sprites/ui/icons/icon-unlocks.png deleted file mode 100644 index 36b637b0b9..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-unlocks.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-upgrade.png b/core/assets-raw/sprites/ui/icons/icon-upgrade.png deleted file mode 100644 index 80e416aebe..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-upgrade.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-wiki.png b/core/assets-raw/sprites/ui/icons/icon-wiki.png deleted file mode 100644 index a4395e4ed5..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-wiki.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-workshop.png b/core/assets-raw/sprites/ui/icons/icon-workshop.png deleted file mode 100644 index 74e43e701f..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-workshop.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/icons/icon-zoom.png b/core/assets-raw/sprites/ui/icons/icon-zoom.png deleted file mode 100644 index 02736c1a4b..0000000000 Binary files a/core/assets-raw/sprites/ui/icons/icon-zoom.png and /dev/null differ diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index f60c7c291c..3af6426ac2 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -424,7 +424,7 @@ filter.option.percentile = Percentile width = Width: height = Height: menu = Menu -play = î † Play î † +play = Play campaign = Campaign load = Load save = Save diff --git a/core/assets/fonts/font.ttf b/core/assets/fonts/font.ttf index d587ccefdd..c62591eab5 100644 Binary files a/core/assets/fonts/font.ttf and b/core/assets/fonts/font.ttf differ diff --git a/core/assets/fonts/icon.ttf b/core/assets/fonts/icon.ttf new file mode 100644 index 0000000000..b9dffc85b0 Binary files /dev/null and b/core/assets/fonts/icon.ttf differ diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 55f45b9b88..f8b830e4d6 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -4883,7 +4883,7 @@ item-silicon-medium orig: 32, 32 offset: 0, 0 index: -1 -item-silicon-small +item-silIcon. rotate: false xy: 1553, 951 size: 24, 24 @@ -14702,7 +14702,7 @@ block-silicon-smelter-medium orig: 32, 32 offset: 0, 0 index: -1 -block-silicon-smelter-small +block-silIcon.smelter- rotate: false xy: 491, 403 size: 24, 24 diff --git a/core/src/mindustry/core/UI.java b/core/src/mindustry/core/UI.java index de8e50e897..d58bbd0d9e 100644 --- a/core/src/mindustry/core/UI.java +++ b/core/src/mindustry/core/UI.java @@ -105,7 +105,6 @@ public class UI implements ApplicationListener, Loadable{ Tex.load(); Icon.load(); - Icon_.load(); Styles.load(); Tex.loadStyles(); @@ -156,7 +155,6 @@ public class UI implements ApplicationListener, Loadable{ } parameter.fontParameters.magFilter = TextureFilter.Linear; parameter.fontParameters.minFilter = TextureFilter.Linear; - parameter.fontParameters.size = fontParameter().size; parameter.fontParameters.packer = packer; return super.loadSync(manager, fileName, file, parameter); } @@ -164,6 +162,7 @@ public class UI implements ApplicationListener, Loadable{ FreeTypeFontParameter param = new FreeTypeFontParameter(){{ borderColor = Color.darkGray; + size = (int)(Scl.scl(18f)); incremental = true; }}; @@ -208,16 +207,18 @@ public class UI implements ApplicationListener, Loadable{ public TextureRegionDrawable getGlyph(BitmapFont font, char glyph){ Glyph g = font.getData().getGlyph(glyph); if(g == null) throw new IllegalArgumentException("No glyph: " + glyph + " (" + (int)glyph + ")"); + + float size = Math.max(g.width, g.height); float aspect = (float)g.height / g.width; TextureRegionDrawable draw = new TextureRegionDrawable(new TextureRegion(font.getRegion().getTexture(), g.u, g.v2, g.u2, g.v)){ @Override public void draw(float x, float y, float width, float height){ - //enforce even aspect ratio, which will always be incorrect for complicate reasons - super.draw(x, y, width, width * aspect); + super.draw(x + Math.max(g.height-g.width, 0)/2, y, g.width, g.height); } }; - draw.setMinWidth(draw.getRegion().getWidth()); - draw.setMinHeight(draw.getRegion().getHeight()); + + draw.setMinWidth(size); + draw.setMinHeight(size); return draw; } @@ -228,6 +229,17 @@ public class UI implements ApplicationListener, Loadable{ Core.assets.load("default", BitmapFont.class, new FreeTypeFontLoaderParameter(fontName, param)).loaded = f -> Fonts.def = (BitmapFont)f; Core.assets.load("chat", BitmapFont.class, new FreeTypeFontLoaderParameter(fontName, param)).loaded = f -> Fonts.chat = (BitmapFont)f; + Core.assets.load("icon", BitmapFont.class, new FreeTypeFontLoaderParameter("fonts/icon.ttf", new FreeTypeFontParameter(){{ + size = (int)(Scl.scl(28f)); + incremental = true; + }})).loaded = f -> Fonts.icon = (BitmapFont)f; + } + + public TextureRegionDrawable getIcon(String name){ + if(Icon.icons.containsKey(name)){ + return Icon.icons.get(name); + } + return Core.atlas.getDrawable("error"); } static FreeTypeFontParameter fontParameter(){ diff --git a/core/src/mindustry/editor/MapEditorDialog.java b/core/src/mindustry/editor/MapEditorDialog.java index b9a28501b9..b07e6a96ca 100644 --- a/core/src/mindustry/editor/MapEditorDialog.java +++ b/core/src/mindustry/editor/MapEditorDialog.java @@ -66,30 +66,30 @@ public class MapEditorDialog extends Dialog implements Disposable{ menu.cont.table(t -> { t.defaults().size(swidth, 60f).padBottom(5).padRight(5).padLeft(5); - t.addImageTextButton("$editor.savemap", Icon.floppy16Small, this::save); + t.addImageTextButton("$editor.savemap", Icon.save, this::save); - t.addImageTextButton("$editor.mapinfo", Icon.pencilSmall, () -> { + t.addImageTextButton("$editor.mapinfo", Icon.pencil, () -> { infoDialog.show(); menu.hide(); }); t.row(); - t.addImageTextButton("$editor.generate", Icon.editorSmall, () -> { + t.addImageTextButton("$editor.generate", Icon.terrain, () -> { generateDialog.show(generateDialog::applyToEditor); menu.hide(); }); - t.addImageTextButton("$editor.resize", Icon.resizeSmall, () -> { + t.addImageTextButton("$editor.resize", Icon.resize, () -> { resizeDialog.show(); menu.hide(); }); t.row(); - t.addImageTextButton("$editor.import", Icon.loadMapSmall, () -> + t.addImageTextButton("$editor.import", Icon.download, () -> createDialog("$editor.import", - "$editor.importmap", "$editor.importmap.description", Icon.loadMap, (Runnable)loadDialog::show, + "$editor.importmap", "$editor.importmap.description", Icon.download, (Runnable)loadDialog::show, "$editor.importfile", "$editor.importfile.description", Icon.file, (Runnable)() -> platform.showFileChooser(true, mapExtension, file -> ui.loadAnd(() -> { maps.tryCatchMapError(() -> { @@ -115,7 +115,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ }))) ); - t.addImageTextButton("$editor.export", Icon.saveMapSmall, () -> { + t.addImageTextButton("$editor.export", Icon.upload, () -> { if(!ios){ platform.showFileChooser(false, mapExtension, file -> { ui.loadAnd(() -> { @@ -148,7 +148,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ menu.cont.row(); if(steam){ - menu.cont.addImageTextButton("$editor.publish.workshop", Icon.linkSmall, () -> { + menu.cont.addImageTextButton("$editor.publish.workshop", Icon.link, () -> { Map builtin = maps.all().find(m -> m.name().equals(editor.getTags().get("name", "").trim())); if(editor.getTags().containsKey("steamid") && builtin != null && !builtin.custom){ @@ -181,11 +181,11 @@ public class MapEditorDialog extends Dialog implements Disposable{ menu.cont.row(); } - menu.cont.addImageTextButton("$editor.ingame", Icon.arrowSmall, this::playtest).padTop(!steam ? -3 : 1).size(swidth * 2f + 10, 60f); + menu.cont.addImageTextButton("$editor.ingame", Icon.right, this::playtest).padTop(!steam ? -3 : 1).size(swidth * 2f + 10, 60f); menu.cont.row(); - menu.cont.addImageTextButton("$quit", Icon.backSmall, () -> { + menu.cont.addImageTextButton("$quit", Icon.exit, () -> { tryExit(); menu.hide(); }).size(swidth * 2f + 10, 60f); @@ -427,7 +427,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ Cons addTool = tool -> { - ImageButton button = new ImageButton(Core.atlas.drawable("icon-" + tool.name() + "-small"), Styles.clearTogglei); + ImageButton button = new ImageButton(Core.atlas.drawable("Icon." + tool.name() + "-"), Styles.clearTogglei); button.clicked(() -> { view.setTool(tool); if(lastTable[0] != null){ @@ -503,16 +503,16 @@ public class MapEditorDialog extends Dialog implements Disposable{ tools.defaults().size(size, size); - tools.addImageButton(Icon.menuLargeSmall, Styles.cleari, menu::show); + tools.addImageButton(Icon.menu, Styles.cleari, menu::show); - ImageButton grid = tools.addImageButton(Icon.gridSmall, Styles.clearTogglei, () -> view.setGrid(!view.isGrid())).get(); + ImageButton grid = tools.addImageButton(Icon.grid, Styles.clearTogglei, () -> view.setGrid(!view.isGrid())).get(); addTool.get(EditorTool.zoom); tools.row(); - ImageButton undo = tools.addImageButton(Icon.undoSmall, Styles.cleari, editor::undo).get(); - ImageButton redo = tools.addImageButton(Icon.redoSmall, Styles.cleari, editor::redo).get(); + ImageButton undo = tools.addImageButton(Icon.undo, Styles.cleari, editor::undo).get(); + ImageButton redo = tools.addImageButton(Icon.redo, Styles.cleari, editor::redo).get(); addTool.get(EditorTool.pick); @@ -534,7 +534,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ addTool.get(EditorTool.fill); addTool.get(EditorTool.spray); - ImageButton rotate = tools.addImageButton(Icon.arrow16Small, Styles.cleari, () -> editor.rotation = (editor.rotation + 1) % 4).get(); + ImageButton rotate = tools.addImageButton(Icon.right, Styles.cleari, () -> editor.rotation = (editor.rotation + 1) % 4).get(); rotate.getImage().update(() -> { rotate.getImage().setRotation(editor.rotation * 90); rotate.getImage().setOrigin(Align.center); diff --git a/core/src/mindustry/editor/MapGenerateDialog.java b/core/src/mindustry/editor/MapGenerateDialog.java index 12f989c272..7d6791f846 100644 --- a/core/src/mindustry/editor/MapGenerateDialog.java +++ b/core/src/mindustry/editor/MapGenerateDialog.java @@ -235,24 +235,24 @@ public class MapGenerateDialog extends FloatingDialog{ t.table(b -> { ImageButtonStyle style = Styles.cleari; b.defaults().size(50f); - b.addImageButton(Icon.refreshSmall, style, () -> { + b.addImageButton(Icon.refresh, style, () -> { filter.randomize(); update(); }); - b.addImageButton(Icon.arrowUpSmall, style, () -> { + b.addImageButton(Icon.upOpen, style, () -> { int idx = filters.indexOf(filter); filters.swap(idx, Math.max(0, idx - 1)); rebuildFilters(); update(); }); - b.addImageButton(Icon.arrowDownSmall, style, () -> { + b.addImageButton(Icon.downOpen, style, () -> { int idx = filters.indexOf(filter); filters.swap(idx, Math.min(filters.size - 1, idx + 1)); rebuildFilters(); update(); }); - b.addImageButton(Icon.trashSmall, style, () -> { + b.addImageButton(Icon.trash, style, () -> { filters.remove(filter); rebuildFilters(); update(); diff --git a/core/src/mindustry/input/DesktopInput.java b/core/src/mindustry/input/DesktopInput.java index 8838dee9c9..0776d9e33e 100644 --- a/core/src/mindustry/input/DesktopInput.java +++ b/core/src/mindustry/input/DesktopInput.java @@ -67,7 +67,7 @@ public class DesktopInput extends InputHandler{ Core.keybinds.get(Binding.schematic_flip_y).key.toString())).style(Styles.outlineLabel); b.row(); b.table(a -> { - a.addImageTextButton("$schematic.add", Icon.saveSmall, this::showSchematicSave).colspan(2).size(250f, 50f).disabled(f -> lastSchematic == null || lastSchematic.file != null); + a.addImageTextButton("$schematic.add", Icon.save, this::showSchematicSave).colspan(2).size(250f, 50f).disabled(f -> lastSchematic == null || lastSchematic.file != null); }); }).margin(6f); }); @@ -256,7 +256,7 @@ public class DesktopInput extends InputHandler{ table.row(); table.left().margin(0f).defaults().size(48f).left(); - table.addImageButton(Icon.pasteSmall, Styles.clearPartiali, () -> { + table.addImageButton(Icon.paste, Styles.clearPartiali, () -> { ui.schematics.show(); }); } diff --git a/core/src/mindustry/input/MobileInput.java b/core/src/mindustry/input/MobileInput.java index 3b8e881085..8e0ed53d06 100644 --- a/core/src/mindustry/input/MobileInput.java +++ b/core/src/mindustry/input/MobileInput.java @@ -179,19 +179,19 @@ public class MobileInput extends InputHandler implements GestureListener{ table.row(); table.left().margin(0f).defaults().size(48f); - table.addImageButton(Icon.breakSmall, Styles.clearTogglePartiali, () -> { + table.addImageButton(Icon.hammer, Styles.clearTogglePartiali, () -> { mode = mode == breaking ? block == null ? none : placing : breaking; lastBlock = block; }).update(l -> l.setChecked(mode == breaking)).name("breakmode"); //diagonal swap button - table.addImageButton(Icon.diagonalSmall, Styles.clearTogglePartiali, () -> { + table.addImageButton(Icon.diagonal, Styles.clearTogglePartiali, () -> { Core.settings.put("swapdiagonal", !Core.settings.getBool("swapdiagonal")); Core.settings.save(); }).update(l -> l.setChecked(Core.settings.getBool("swapdiagonal"))); //rotate button - table.addImageButton(Icon.arrowSmall, Styles.clearTogglePartiali, () -> { + table.addImageButton(Icon.right, Styles.clearTogglePartiali, () -> { if(block != null && block.rotate){ rotation = Mathf.mod(rotation + 1, 4); }else{ @@ -205,12 +205,12 @@ public class MobileInput extends InputHandler implements GestureListener{ boolean arrow = block != null && block.rotate; i.getImage().setRotationOrigin(!arrow ? 0 : rotation * 90, Align.center); - i.getStyle().imageUp = arrow ? Icon.arrowSmall : Icon.pasteSmall; + i.getStyle().imageUp = arrow ? Icon.right : Icon.paste; i.setChecked(!arrow && schematicMode); }); //confirm button - table.addImageButton(Icon.checkSmall, Styles.clearPartiali, () -> { + table.addImageButton(Icon.ok, Styles.clearPartiali, () -> { for(BuildRequest request : selectRequests){ Tile tile = request.tile(); @@ -253,7 +253,7 @@ public class MobileInput extends InputHandler implements GestureListener{ group.fill(t -> { t.bottom().left().visible(() -> (player.isBuilding() || block != null || mode == breaking || !selectRequests.isEmpty()) && !schem.get()); - t.addImageTextButton("$cancel", Icon.cancelSmall, () -> { + t.addImageTextButton("$cancel", Icon.cancel, () -> { player.clearBuilding(); selectRequests.clear(); mode = none; @@ -269,15 +269,15 @@ public class MobileInput extends InputHandler implements GestureListener{ ImageButtonStyle style = Styles.clearPartiali; - b.addImageButton(Icon.floppySmall, style, this::showSchematicSave).disabled(f -> lastSchematic == null || lastSchematic.file != null); - b.addImageButton(Icon.cancelSmall, style, () -> { + b.addImageButton(Icon.save, style, this::showSchematicSave).disabled(f -> lastSchematic == null || lastSchematic.file != null); + b.addImageButton(Icon.cancel, style, () -> { selectRequests.clear(); }); b.row(); - b.addImageButton(Icon.flipSmall, style, () -> flipRequests(selectRequests, true)); - b.addImageButton(Icon.flipSmall, style, () -> flipRequests(selectRequests, false)).update(i -> i.getImage().setRotationOrigin(90f, Align.center)); + b.addImageButton(Icon.flipX, style, () -> flipRequests(selectRequests, true)); + b.addImageButton(Icon.flipY, style, () -> flipRequests(selectRequests, false)); b.row(); - b.addImageButton(Icon.rotateSmall, style, () -> rotateRequests(selectRequests, 1)); + b.addImageButton(Icon.rotate, style, () -> rotateRequests(selectRequests, 1)); }).margin(4f); }); diff --git a/core/src/mindustry/maps/filters/FilterOption.java b/core/src/mindustry/maps/filters/FilterOption.java index 596c5d0b2d..c9cdba8f90 100644 --- a/core/src/mindustry/maps/filters/FilterOption.java +++ b/core/src/mindustry/maps/filters/FilterOption.java @@ -76,15 +76,15 @@ public abstract class FilterOption{ @Override public void build(Table table){ - table.addButton(b -> b.addImage(supplier.get().icon(mindustry.ui.Cicon.small)).update(i -> ((TextureRegionDrawable)i.getDrawable()) - .setRegion(supplier.get() == Blocks.air ? Core.atlas.find("icon-none") : supplier.get().icon(mindustry.ui.Cicon.small))).size(8 * 3), () -> { + table.addButton(b -> b.addImage(supplier.get().icon(Cicon.small)).update(i -> ((TextureRegionDrawable)i.getDrawable()) + .setRegion(supplier.get() == Blocks.air ? Core.atlas.find("Icon.none") : supplier.get().icon(Cicon.small))).size(8 * 3), () -> { FloatingDialog dialog = new FloatingDialog(""); dialog.setFillParent(false); int i = 0; for(Block block : Vars.content.blocks()){ if(!filter.get(block)) continue; - dialog.cont.addImage(block == Blocks.air ? Core.atlas.find("icon-none-small") : block.icon(Cicon.medium)).size(8 * 4).pad(3).get().clicked(() -> { + dialog.cont.addImage(block == Blocks.air ? Core.atlas.find("Icon.none-") : block.icon(Cicon.medium)).size(8 * 4).pad(3).get().clicked(() -> { consumer.get(block); dialog.hide(); changed.run(); diff --git a/core/src/mindustry/mod/Mods.java b/core/src/mindustry/mod/Mods.java index ef4af6a8ec..f96c6aa37c 100644 --- a/core/src/mindustry/mod/Mods.java +++ b/core/src/mindustry/mod/Mods.java @@ -174,6 +174,7 @@ public class Mods implements Loadable{ }); } + //TODO !!!! fix the UI page here Core.atlas = packer.flush(filter, new TextureAtlas()); Core.atlas.setErrorRegion("error"); Log.debug("Total pages: {0}", Core.atlas.getTextures().size); @@ -389,12 +390,12 @@ public class Mods implements Loadable{ d.left().marginLeft(15f); for(Content c : m.erroredContent){ d.add(c.minfo.sourceFile.nameWithoutExtension()).left().padRight(10); - d.addImageTextButton("$details", Icon.arrowDownSmall, Styles.transt, () -> { + d.addImageTextButton("$details", Icon.downOpen, Styles.transt, () -> { new Dialog(""){{ setFillParent(true); cont.pane(e -> e.add(c.minfo.error)).grow(); cont.row(); - cont.addImageTextButton("$ok", Icon.backSmall, this::hide).size(240f, 60f); + cont.addImageTextButton("$ok", Icon.left, this::hide).size(240f, 60f); }}.show(); }).size(190f, 50f).left().marginLeft(6); d.row(); diff --git a/core/src/mindustry/mod/Scripts.java b/core/src/mindustry/mod/Scripts.java index 84d98d4ee4..19a94fca36 100644 --- a/core/src/mindustry/mod/Scripts.java +++ b/core/src/mindustry/mod/Scripts.java @@ -20,7 +20,7 @@ public class Scripts implements Disposable{ Time.mark(); context = Vars.platform.getScriptContext(); - context.setClassShutter(type -> !blacklist.contains(type.toLowerCase()::contains)); + context.setClassShutter(type -> !blacklist.contains(type.toLowerCase()::contains) || type.contains("mindustry.net")); context.getWrapFactory().setJavaPrimitiveWrap(false); scope = new ImporterTopLevel(context); diff --git a/core/src/mindustry/net/BeControl.java b/core/src/mindustry/net/BeControl.java index ee084f743a..844464764b 100644 --- a/core/src/mindustry/net/BeControl.java +++ b/core/src/mindustry/net/BeControl.java @@ -105,7 +105,7 @@ public class BeControl{ }); dialog.cont.add(new Bar(() -> length[0] == 0 ? Core.bundle.get("be.updating") : (int)(progress[0] * length[0]) / 1024/ 1024 + "/" + length[0]/1024/1024 + " MB", () -> Pal.accent, () -> progress[0])).width(400f).height(70f); - dialog.buttons.addImageTextButton("$cancel", Icon.cancelSmall, () -> { + dialog.buttons.addImageTextButton("$cancel", Icon.cancel, () -> { cancel[0] = true; dialog.hide(); }).size(210f, 64f); diff --git a/core/src/mindustry/ui/Fonts.java b/core/src/mindustry/ui/Fonts.java index 9781b96c1d..62a24e89f2 100644 --- a/core/src/mindustry/ui/Fonts.java +++ b/core/src/mindustry/ui/Fonts.java @@ -6,5 +6,6 @@ public class Fonts{ public static BitmapFont def; public static BitmapFont outline; public static BitmapFont chat; + public static BitmapFont icon; } diff --git a/core/src/mindustry/ui/dialogs/ColorPicker.java b/core/src/mindustry/ui/dialogs/ColorPicker.java index e5a9c60f01..0084903ebe 100644 --- a/core/src/mindustry/ui/dialogs/ColorPicker.java +++ b/core/src/mindustry/ui/dialogs/ColorPicker.java @@ -55,7 +55,7 @@ public class ColorPicker extends FloatingDialog{ buttons.clear(); addCloseButton(); - buttons.addImageTextButton("$ok", Icon.checkSmall, () -> { + buttons.addImageTextButton("$ok", Icon.ok, () -> { cons.get(current); hide(); }); diff --git a/core/src/mindustry/ui/dialogs/ControlsDialog.java b/core/src/mindustry/ui/dialogs/ControlsDialog.java index a7179a4d0a..a8ed813e42 100644 --- a/core/src/mindustry/ui/dialogs/ControlsDialog.java +++ b/core/src/mindustry/ui/dialogs/ControlsDialog.java @@ -17,7 +17,7 @@ public class ControlsDialog extends KeybindDialog{ @Override public void addCloseButton(){ - buttons.addImageTextButton("$back", Icon.arrowLeftSmall, this::hide).size(230f, 64f); + buttons.addImageTextButton("$back", Icon.left, this::hide).size(230f, 64f); keyDown(key -> { if(key == KeyCode.ESCAPE || key == KeyCode.BACK) diff --git a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java index 73eb5a9efa..c65efdd919 100644 --- a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java +++ b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java @@ -35,12 +35,12 @@ public class CustomRulesDialog extends FloatingDialog{ banDialog.addCloseButton(); banDialog.shown(this::rebuildBanned); - banDialog.buttons.addImageTextButton("$addall", Icon.arrow16Small, () -> { + banDialog.buttons.addImageTextButton("$addall", Icon.add, () -> { rules.bannedBlocks.addAll(content.blocks().select(Block::isBuildable)); rebuildBanned(); }).size(180, 64f); - banDialog.buttons.addImageTextButton("$clear", Icon.trash16Small, () -> { + banDialog.buttons.addImageTextButton("$clear", Icon.trash, () -> { rules.bannedBlocks.clear(); rebuildBanned(); }).size(180, 64f); @@ -72,7 +72,7 @@ public class CustomRulesDialog extends FloatingDialog{ b.addImage(block.icon(Cicon.medium)).size(Cicon.medium.size).padRight(3); b.add(block.localizedName).color(Color.lightGray).padLeft(3).growX().left().wrap(); - b.addImageButton(Icon.cancelSmall, Styles.clearPartiali, () -> { + b.addImageButton(Icon.cancel, Styles.clearPartiali, () -> { rules.bannedBlocks.remove(block); rebuildBanned(); }).size(70f).pad(-4f).padLeft(0f); @@ -84,7 +84,7 @@ public class CustomRulesDialog extends FloatingDialog{ } }).get().setScrollYForce(previousScroll); banDialog.cont.row(); - banDialog.cont.addImageTextButton("$add", Icon.addSmall, () -> { + banDialog.cont.addImageTextButton("$add", Icon.add, () -> { FloatingDialog dialog = new FloatingDialog("$add"); dialog.cont.pane(t -> { t.left().margin(14f); diff --git a/core/src/mindustry/ui/dialogs/DatabaseDialog.java b/core/src/mindustry/ui/dialogs/DatabaseDialog.java index a78c5c0ccb..5d4c0806bc 100644 --- a/core/src/mindustry/ui/dialogs/DatabaseDialog.java +++ b/core/src/mindustry/ui/dialogs/DatabaseDialog.java @@ -55,7 +55,7 @@ public class DatabaseDialog extends FloatingDialog{ for(int i = 0; i < array.size; i++){ UnlockableContent unlock = (UnlockableContent)array.get(i); - Image image = unlocked(unlock) ? new Image(unlock.icon(Cicon.medium)) : new Image(Icon.lockedSmall, Pal.gray); + Image image = unlocked(unlock) ? new Image(unlock.icon(Cicon.medium)) : new Image(Icon.lockOpen, Pal.gray); list.add(image).size(8*4).pad(3); ClickListener listener = new ClickListener(); image.addListener(listener); diff --git a/core/src/mindustry/ui/dialogs/DeployDialog.java b/core/src/mindustry/ui/dialogs/DeployDialog.java index 811caca161..9695bad06c 100644 --- a/core/src/mindustry/ui/dialogs/DeployDialog.java +++ b/core/src/mindustry/ui/dialogs/DeployDialog.java @@ -235,7 +235,7 @@ public class DeployDialog extends FloatingDialog{ button.labelWrap(zone.localizedName).style(Styles.outlineLabel).width(140).growX().get().setAlignment(Align.center); }else{ Cons flasher = zone.canUnlock() && !hidden(zone) ? e -> e.update(() -> e.getColor().set(Color.white).lerp(Pal.accent, Mathf.absin(3f, 1f))) : e -> {}; - flasher.get(button.addImage(Icon.locked).get()); + flasher.get(button.addImage(Icon.lock).get()); button.row(); flasher.get(button.add("$locked").get()); } diff --git a/core/src/mindustry/ui/dialogs/FileChooser.java b/core/src/mindustry/ui/dialogs/FileChooser.java index 44c4a47450..d877d87bdf 100644 --- a/core/src/mindustry/ui/dialogs/FileChooser.java +++ b/core/src/mindustry/ui/dialogs/FileChooser.java @@ -92,15 +92,15 @@ public class FileChooser extends FloatingDialog{ Table icontable = new Table(); - ImageButton up = new ImageButton(Icon.folderParent); + ImageButton up = new ImageButton(Icon.upOpen); up.clicked(() -> { directory = directory.parent(); updateFiles(true); }); - ImageButton back = new ImageButton(Icon.arrowLeft); - ImageButton forward = new ImageButton(Icon.arrowRight); + ImageButton back = new ImageButton(Icon.left); + ImageButton forward = new ImageButton(Icon.right); forward.clicked(() -> stack.forward()); back.clicked(() -> stack.back()); @@ -185,7 +185,7 @@ public class FileChooser extends FloatingDialog{ files.top().left(); Fi[] names = getFileNames(); - Image upimage = new Image(Icon.folderParentSmall); + Image upimage = new Image(Icon.upOpen); TextButton upbutton = new TextButton(".." + directory.toString(), Styles.clearTogglet); upbutton.clicked(() -> { directory = directory.parent(); @@ -229,7 +229,7 @@ public class FileChooser extends FloatingDialog{ button.setChecked(filename.equals(filefield.getText())); }); - Image image = new Image(file.isDirectory() ? Icon.folderSmall : Icon.fileTextSmall); + Image image = new Image(file.isDirectory() ? Icon.folder : Icon.fileText); button.add(image).padRight(4f).padLeft(4); button.getCells().reverse(); diff --git a/core/src/mindustry/ui/dialogs/FloatingDialog.java b/core/src/mindustry/ui/dialogs/FloatingDialog.java index 6204eb6682..13ea53e480 100644 --- a/core/src/mindustry/ui/dialogs/FloatingDialog.java +++ b/core/src/mindustry/ui/dialogs/FloatingDialog.java @@ -56,7 +56,7 @@ public class FloatingDialog extends Dialog{ @Override public void addCloseButton(){ buttons.defaults().size(210f, 64f); - buttons.addImageTextButton("$back", Icon.arrowLeft, this::hide).size(210f, 64f); + buttons.addImageTextButton("$back", Icon.left, this::hide).size(210f, 64f); keyDown(key -> { if(key == KeyCode.ESCAPE || key == KeyCode.BACK){ diff --git a/core/src/mindustry/ui/dialogs/JoinDialog.java b/core/src/mindustry/ui/dialogs/JoinDialog.java index d3e154b3b1..a6a69abd08 100644 --- a/core/src/mindustry/ui/dialogs/JoinDialog.java +++ b/core/src/mindustry/ui/dialogs/JoinDialog.java @@ -122,7 +122,7 @@ public class JoinDialog extends FloatingDialog{ inner.add(button.getLabel()).growX(); - inner.addImageButton(Icon.arrowUpSmall, Styles.emptyi, () -> { + inner.addImageButton(Icon.upOpen, Styles.emptyi, () -> { int index = servers.indexOf(server); if(index > 0){ servers.remove(index); @@ -141,16 +141,16 @@ public class JoinDialog extends FloatingDialog{ }).margin(3f).padTop(6f).top().right(); - inner.addImageButton(Icon.loadingSmall, Styles.emptyi, () -> { + inner.addImageButton(Icon.refresh, Styles.emptyi, () -> { refreshServer(server); }).margin(3f).padTop(6f).top().right(); - inner.addImageButton(Icon.pencilSmall, Styles.emptyi, () -> { + inner.addImageButton(Icon.pencil, Styles.emptyi, () -> { renaming = server; add.show(); }).margin(3f).padTop(6f).top().right(); - inner.addImageButton(Icon.trash16Small, Styles.emptyi, () -> { + inner.addImageButton(Icon.trash, Styles.emptyi, () -> { ui.showConfirm("$confirm", "$server.delete", () -> { servers.removeValue(server, true); saveServers(); @@ -303,7 +303,7 @@ public class JoinDialog extends FloatingDialog{ local.background(Tex.button); local.add("$hosts.none").pad(10f); local.add().growX(); - local.addImageButton(Icon.loading, this::refreshLocal).pad(-12f).padLeft(0).size(70f); + local.addImageButton(Icon.refresh, this::refreshLocal).pad(-12f).padLeft(0).size(70f); }else{ local.background(null); } diff --git a/core/src/mindustry/ui/dialogs/LoadDialog.java b/core/src/mindustry/ui/dialogs/LoadDialog.java index 78e504e6e0..c933ed953b 100644 --- a/core/src/mindustry/ui/dialogs/LoadDialog.java +++ b/core/src/mindustry/ui/dialogs/LoadDialog.java @@ -71,7 +71,7 @@ public class LoadDialog extends FloatingDialog{ title.table(t -> { t.right(); - t.addImageButton(Icon.floppy, Styles.emptytogglei, () -> { + t.addImageButton(Icon.save, Styles.emptytogglei, () -> { slot.setAutosave(!slot.isAutosave()); }).checked(slot.isAutosave()).right(); diff --git a/core/src/mindustry/ui/dialogs/LoadoutDialog.java b/core/src/mindustry/ui/dialogs/LoadoutDialog.java index 9f84c3a616..27aec170c2 100644 --- a/core/src/mindustry/ui/dialogs/LoadoutDialog.java +++ b/core/src/mindustry/ui/dialogs/LoadoutDialog.java @@ -42,9 +42,9 @@ public class LoadoutDialog extends FloatingDialog{ } }); - buttons.addImageTextButton("$back", Icon.arrowLeft, this::hide).size(210f, 64f); + buttons.addImageTextButton("$back", Icon.left, this::hide).size(210f, 64f); - buttons.addImageTextButton("$settings.reset", Icon.refreshSmall, () -> { + buttons.addImageTextButton("$settings.reset", Icon.refresh, () -> { resetter.run(); reseed(); updater.run(); @@ -83,7 +83,7 @@ public class LoadoutDialog extends FloatingDialog{ updater.run(); }).size(bsize); - t.addImageButton(Icon.pencilSmaller, Styles.cleari, () -> ui.showTextInput("$configure", stack.item.localizedName, 10, stack.amount + "", true, str -> { + t.addImageButton(Icon.pencil, Styles.cleari, () -> ui.showTextInput("$configure", stack.item.localizedName, 10, stack.amount + "", true, str -> { if(Strings.canParsePostiveInt(str)){ int amount = Strings.parseInt(str); if(amount >= 0 && amount <= capacity){ diff --git a/core/src/mindustry/ui/dialogs/MapPlayDialog.java b/core/src/mindustry/ui/dialogs/MapPlayDialog.java index 052d18e461..9efcfd8e04 100644 --- a/core/src/mindustry/ui/dialogs/MapPlayDialog.java +++ b/core/src/mindustry/ui/dialogs/MapPlayDialog.java @@ -68,7 +68,7 @@ public class MapPlayDialog extends FloatingDialog{ cont.add(selmode); cont.row(); - cont.addImageTextButton("$customize", Icon.toolsSmall, () -> dialog.show(rules, () -> rules = map.applyRules(selectedGamemode))).width(230); + cont.addImageTextButton("$customize", Icon.settings, () -> dialog.show(rules, () -> rules = map.applyRules(selectedGamemode))).width(230); cont.row(); cont.add(new BorderImage(map.safeTexture(), 3f)).size(mobile && !Core.graphics.isPortrait() ? 150f : 250f).get().setScaling(Scaling.fit); //only maps with survival are valid for high scores diff --git a/core/src/mindustry/ui/dialogs/MapsDialog.java b/core/src/mindustry/ui/dialogs/MapsDialog.java index 99b4f40778..2fce27ccf3 100644 --- a/core/src/mindustry/ui/dialogs/MapsDialog.java +++ b/core/src/mindustry/ui/dialogs/MapsDialog.java @@ -44,10 +44,10 @@ public class MapsDialog extends FloatingDialog{ buttons.clearChildren(); if(Core.graphics.isPortrait()){ - buttons.addImageTextButton("$back", Icon.arrowLeft, this::hide).size(210f*2f, 64f).colspan(2); + buttons.addImageTextButton("$back", Icon.left, this::hide).size(210f*2f, 64f).colspan(2); buttons.row(); }else{ - buttons.addImageTextButton("$back", Icon.arrowLeft, this::hide).size(210f, 64f); + buttons.addImageTextButton("$back", Icon.left, this::hide).size(210f, 64f); } buttons.addImageTextButton("$editor.newmap", Icon.add, () -> { @@ -67,7 +67,7 @@ public class MapsDialog extends FloatingDialog{ }); }).size(210f, 64f); - buttons.addImageTextButton("$editor.importmap", Icon.load, () -> { + buttons.addImageTextButton("$editor.importmap", Icon.download, () -> { platform.showFileChooser(true, mapExtension, file -> { ui.loadAnd(() -> { maps.tryCatchMapError(() -> { @@ -192,7 +192,7 @@ public class MapsDialog extends FloatingDialog{ table.row(); - table.addImageTextButton("$editor.openin", Icon.loadMapSmall, () -> { + table.addImageTextButton("$editor.openin", Icon.download, () -> { try{ Vars.ui.editor.beginEditMap(map.file); dialog.hide(); @@ -203,7 +203,7 @@ public class MapsDialog extends FloatingDialog{ } }).fillX().height(54f).marginLeft(10); - table.addImageTextButton(map.workshop && steam ? "$view.workshop" : "$delete", map.workshop && steam ? Icon.linkSmall : Icon.trash16Small, () -> { + table.addImageTextButton(map.workshop && steam ? "$view.workshop" : "$delete", map.workshop && steam ? Icon.link : Icon.trash, () -> { if(map.workshop && steam){ platform.viewListing(map); }else{ diff --git a/core/src/mindustry/ui/dialogs/ModsDialog.java b/core/src/mindustry/ui/dialogs/ModsDialog.java index 30b96c3610..8320c9eab9 100644 --- a/core/src/mindustry/ui/dialogs/ModsDialog.java +++ b/core/src/mindustry/ui/dialogs/ModsDialog.java @@ -120,18 +120,18 @@ public class ModsDialog extends FloatingDialog{ title.add("[accent]" + mod.meta.displayName() + "[lightgray] v" + mod.meta.version + (mod.enabled() ? "" : "\n" + Core.bundle.get("mod.disabled") + "")).width(200f).wrap(); title.add().growX(); - title.addImageTextButton(mod.enabled() ? "$mod.disable" : "$mod.enable", mod.enabled() ? Icon.arrowDownSmall : Icon.arrowUpSmall, Styles.cleart, () -> { + title.addImageTextButton(mod.enabled() ? "$mod.disable" : "$mod.enable", mod.enabled() ? Icon.downOpen : Icon.upOpen, Styles.cleart, () -> { mods.setEnabled(mod, !mod.enabled()); setup(); }).height(50f).margin(8f).width(130f).disabled(!mod.isSupported()); if(steam && !mod.hasSteamID()){ - title.addImageButton(Icon.loadMapSmall, Styles.cleari, () -> { + title.addImageButton(Icon.download, Styles.cleari, () -> { platform.publish(mod); }).size(50f); } - title.addImageButton(mod.hasSteamID() ? Icon.linkSmall : Icon.trash16Small, Styles.cleari, () -> { + title.addImageButton(mod.hasSteamID() ? Icon.link : Icon.trash, Styles.cleari, () -> { if(!mod.hasSteamID()){ ui.showConfirm("$confirm", "$mod.remove.confirm", () -> { mods.removeMod(mod); diff --git a/core/src/mindustry/ui/dialogs/PausedDialog.java b/core/src/mindustry/ui/dialogs/PausedDialog.java index aab8e0e577..7bb9153d2a 100644 --- a/core/src/mindustry/ui/dialogs/PausedDialog.java +++ b/core/src/mindustry/ui/dialogs/PausedDialog.java @@ -76,22 +76,22 @@ public class PausedDialog extends FloatingDialog{ }else{ cont.defaults().size(130f).pad(5); - cont.addRowImageTextButton("$back", Icon.play2, this::hide); - cont.addRowImageTextButton("$settings", Icon.tools, ui.settings::show); + cont.addRowImageTextButton("$back", Icon.play, this::hide); + cont.addRowImageTextButton("$settings", Icon.settings, ui.settings::show); if(!world.isZone() && !state.isEditor()){ cont.addRowImageTextButton("$save", Icon.save, save::show); cont.row(); - cont.addRowImageTextButton("$load", Icon.load, load::show).disabled(b -> net.active()); + cont.addRowImageTextButton("$load", Icon.download, load::show).disabled(b -> net.active()); }else{ cont.row(); } cont.addRowImageTextButton("$hostserver.mobile", Icon.host, ui.host::show).disabled(b -> net.active()); - cont.addRowImageTextButton("$quit", Icon.quit, this::showQuitConfirm).update(s -> { + cont.addRowImageTextButton("$quit", Icon.exit, this::showQuitConfirm).update(s -> { s.setText(control.saves.getCurrent() != null && control.saves.getCurrent().isAutosave() ? "$save.quit" : "$quit"); s.getLabelCell().growX().wrap(); }); diff --git a/core/src/mindustry/ui/dialogs/SchematicsDialog.java b/core/src/mindustry/ui/dialogs/SchematicsDialog.java index 1747cdf2a0..86408921b9 100644 --- a/core/src/mindustry/ui/dialogs/SchematicsDialog.java +++ b/core/src/mindustry/ui/dialogs/SchematicsDialog.java @@ -32,7 +32,7 @@ public class SchematicsDialog extends FloatingDialog{ shouldPause = true; addCloseButton(); - buttons.addImageTextButton("$schematic.import", Icon.loadMapSmall, this::showImport); + buttons.addImageTextButton("$schematic.import", Icon.download, this::showImport); shown(this::setup); onResize(this::setup); } @@ -79,15 +79,15 @@ public class SchematicsDialog extends FloatingDialog{ ImageButtonStyle style = Styles.clearPartiali; - buttons.addImageButton(Icon.infoSmall, style, () -> { + buttons.addImageButton(Icon.info, style, () -> { showInfo(s); }); - buttons.addImageButton(Icon.loadMapSmall, style, () -> { + buttons.addImageButton(Icon.download, style, () -> { showExport(s); }); - buttons.addImageButton(Icon.pencilSmall, style, () -> { + buttons.addImageButton(Icon.pencil, style, () -> { ui.showTextInput("$schematic.rename", "$name", s.name(), res -> { s.tags.put("name", res); s.save(); @@ -96,9 +96,9 @@ public class SchematicsDialog extends FloatingDialog{ }); if(s.hasSteamID()){ - buttons.addImageButton(Icon.linkSmall, style, () -> platform.viewListing(s)); + buttons.addImageButton(Icon.link, style, () -> platform.viewListing(s)); }else{ - buttons.addImageButton(Icon.trash16Small, style, () -> { + buttons.addImageButton(Icon.trash, style, () -> { if(s.mod != null){ ui.showInfo(Core.bundle.format("mod.item.remove", s.mod.meta.displayName())); }else{ @@ -154,7 +154,7 @@ public class SchematicsDialog extends FloatingDialog{ TextButtonStyle style = Styles.cleart; t.defaults().size(280f, 60f).left(); t.row(); - t.addImageTextButton("$schematic.copy.import", Icon.copySmall, style, () -> { + t.addImageTextButton("$schematic.copy.import", Icon.copy, style, () -> { dialog.hide(); try{ Schematic s = Schematics.readBase64(Core.app.getClipboardText()); @@ -168,7 +168,7 @@ public class SchematicsDialog extends FloatingDialog{ } }).marginLeft(12f).disabled(b -> Core.app.getClipboardText() == null || !Core.app.getClipboardText().startsWith(schematicBaseStart)); t.row(); - t.addImageTextButton("$schematic.importfile", Icon.saveMapSmall, style, () -> platform.showFileChooser(true, schematicExtension, file -> { + t.addImageTextButton("$schematic.importfile", Icon.download, style, () -> platform.showFileChooser(true, schematicExtension, file -> { dialog.hide(); try{ @@ -183,7 +183,7 @@ public class SchematicsDialog extends FloatingDialog{ })).marginLeft(12f); t.row(); if(steam){ - t.addImageTextButton("$schematic.browseworkshop", Icon.wikiSmall, style, () -> { + t.addImageTextButton("$schematic.browseworkshop", Icon.book, style, () -> { dialog.hide(); platform.openWorkshop(); }).marginLeft(12f); @@ -203,18 +203,18 @@ public class SchematicsDialog extends FloatingDialog{ TextButtonStyle style = Styles.cleart; t.defaults().size(280f, 60f).left(); if(steam && !s.hasSteamID()){ - t.addImageTextButton("$schematic.shareworkshop", Icon.wikiSmall, style, + t.addImageTextButton("$schematic.shareworkshop", Icon.book, style, () -> platform.publish(s)).marginLeft(12f); t.row(); dialog.hide(); } - t.addImageTextButton("$schematic.copy", Icon.copySmall, style, () -> { + t.addImageTextButton("$schematic.copy", Icon.copy, style, () -> { dialog.hide(); ui.showInfoFade("$copied"); Core.app.setClipboardText(schematics.writeBase64(s)); }).marginLeft(12f); t.row(); - t.addImageTextButton("$schematic.exportfile", Icon.saveMapSmall, style, () -> platform.showFileChooser(false, schematicExtension, file -> { + t.addImageTextButton("$schematic.exportfile", Icon.export, style, () -> platform.showFileChooser(false, schematicExtension, file -> { dialog.hide(); try{ Schematics.write(s, file); @@ -272,7 +272,7 @@ public class SchematicsDialog extends FloatingDialog{ if(wasSet){ super.draw(); }else{ - Draw.rect(Icon.loading.getRegion(), x + width/2f, y + height/2f, width/4f, height/4f); + Draw.rect(Icon.refresh.getRegion(), x + width/2f, y + height/2f, width/4f, height/4f); } Draw.color(checked ? Pal.accent : borderColor); diff --git a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java index 815b374fbd..df13b270ec 100644 --- a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -84,7 +84,7 @@ public class SettingsMenuDialog extends SettingsDialog{ t.defaults().size(270f, 60f).left(); TextButtonStyle style = Styles.cleart; - t.addImageTextButton("$settings.cleardata", Icon.trash16Small, style, () -> ui.showConfirm("$confirm", "$settings.clearall.confirm", () -> { + t.addImageTextButton("$settings.cleardata", Icon.trash, style, () -> ui.showConfirm("$confirm", "$settings.clearall.confirm", () -> { ObjectMap map = new ObjectMap<>(); for(String value : Core.settings.keys()){ if(value.contains("usid") || value.contains("uuid")){ @@ -104,7 +104,7 @@ public class SettingsMenuDialog extends SettingsDialog{ t.row(); - t.addImageTextButton("$data.export", Icon.loadMapSmall, style, () -> { + t.addImageTextButton("$data.export", Icon.download, style, () -> { if(ios){ Fi file = Core.files.local("mindustry-data-export.zip"); try{ @@ -128,7 +128,7 @@ public class SettingsMenuDialog extends SettingsDialog{ t.row(); - t.addImageTextButton("$data.import", Icon.saveMapSmall, style, () -> ui.showConfirm("$confirm", "$data.import.confirm", () -> platform.showFileChooser(true, "zip", file -> { + t.addImageTextButton("$data.import", Icon.download, style, () -> ui.showConfirm("$confirm", "$data.import.confirm", () -> platform.showFileChooser(true, "zip", file -> { try{ data.importData(file); Core.app.exit(); @@ -146,7 +146,7 @@ public class SettingsMenuDialog extends SettingsDialog{ if(!ios){ t.row(); - t.addImageTextButton("$data.openfolder", Icon.folderSmall, style, () -> Core.app.openFolder(Core.settings.getDataDirectory().absolutePath())); + t.addImageTextButton("$data.openfolder", Icon.folder, style, () -> Core.app.openFolder(Core.settings.getDataDirectory().absolutePath())); } }); @@ -362,7 +362,7 @@ public class SettingsMenuDialog extends SettingsDialog{ @Override public void addCloseButton(){ - buttons.addImageTextButton("$back", Icon.arrowLeftSmaller, () -> { + buttons.addImageTextButton("$back", Icon.leftOpen, () -> { if(prefs.getChildren().first() != menu){ back(); }else{ diff --git a/core/src/mindustry/ui/dialogs/TechTreeDialog.java b/core/src/mindustry/ui/dialogs/TechTreeDialog.java index 0d28af70c5..b4ce470861 100644 --- a/core/src/mindustry/ui/dialogs/TechTreeDialog.java +++ b/core/src/mindustry/ui/dialogs/TechTreeDialog.java @@ -60,7 +60,7 @@ public class TechTreeDialog extends FloatingDialog{ addCloseButton(); - buttons.addImageTextButton("$database", Icon.database, () -> { + buttons.addImageTextButton("$database", Icon.book, () -> { hide(); ui.database.show(); }).size(210f, 64f); @@ -324,7 +324,7 @@ public class TechTreeDialog extends FloatingDialog{ infoTable.table(b -> { b.margin(0).left().defaults().left(); - b.addImageButton(Icon.infoSmall, Styles.cleari, () -> ui.content.show(node.block)).growY().width(50f); + b.addImageButton(Icon.info, Styles.cleari, () -> ui.content.show(node.block)).growY().width(50f); b.add().grow(); b.table(desc -> { desc.left().defaults().left(); @@ -351,7 +351,7 @@ public class TechTreeDialog extends FloatingDialog{ if(mobile && locked(node)){ b.row(); - b.addImageTextButton("$research", Icon.checkSmall, Styles.nodet, () -> unlock(node)) + b.addImageTextButton("$research", Icon.ok, Styles.nodet, () -> unlock(node)) .disabled(i -> !data.hasItems(node.requirements)).growX().height(44f).colspan(3); } }); diff --git a/core/src/mindustry/ui/dialogs/ZoneInfoDialog.java b/core/src/mindustry/ui/dialogs/ZoneInfoDialog.java index ed1584133c..08e0b23130 100644 --- a/core/src/mindustry/ui/dialogs/ZoneInfoDialog.java +++ b/core/src/mindustry/ui/dialogs/ZoneInfoDialog.java @@ -45,7 +45,7 @@ public class ZoneInfoDialog extends FloatingDialog{ if(i++ % 2 == 0){ iteminfo.row(); } - iteminfo.addImage(stack.item.icon(mindustry.ui.Cicon.small)).size(8 * 3).padRight(1); + iteminfo.addImage(stack.item.icon(Cicon.small)).size(8 * 3).padRight(1); iteminfo.add(stack.amount + "").color(Color.lightGray).padRight(5); } }; @@ -54,7 +54,7 @@ public class ZoneInfoDialog extends FloatingDialog{ cont.pane(cont -> { if(zone.locked()){ - cont.addImage(Icon.locked); + cont.addImage(Icon.lock); cont.row(); cont.add("$locked").padBottom(6); cont.row(); @@ -71,7 +71,7 @@ public class ZoneInfoDialog extends FloatingDialog{ for(Objective o : zones){ r.addImage(Icon.terrain).padRight(4); r.add(o.display()).color(Color.lightGray); - r.addImage(o.complete() ? Icon.checkSmall : Icon.cancelSmall, o.complete() ? Color.lightGray : Color.scarlet).padLeft(3); + r.addImage(o.complete() ? Icon.ok : Icon.cancel, o.complete() ? Color.lightGray : Color.scarlet).padLeft(3); r.row(); } }); @@ -85,9 +85,9 @@ public class ZoneInfoDialog extends FloatingDialog{ r.add("$research.list").colspan(2).left(); r.row(); for(Unlock blocko : blocks){ - r.addImage(blocko.block.icon(mindustry.ui.Cicon.small)).size(8 * 3).padRight(5); + r.addImage(blocko.block.icon(Cicon.small)).size(8 * 3).padRight(5); r.add(blocko.block.localizedName).color(Color.lightGray).left(); - r.addImage(blocko.block.unlocked() ? Icon.checkSmall : Icon.cancelSmall, blocko.block.unlocked() ? Color.lightGray : Color.scarlet).padLeft(3); + r.addImage(blocko.block.unlocked() ? Icon.ok : Icon.cancel, blocko.block.unlocked() ? Color.lightGray : Color.scarlet).padLeft(3); r.row(); } diff --git a/core/src/mindustry/ui/fragments/HudFragment.java b/core/src/mindustry/ui/fragments/HudFragment.java index 688923924c..e3a7e3a227 100644 --- a/core/src/mindustry/ui/fragments/HudFragment.java +++ b/core/src/mindustry/ui/fragments/HudFragment.java @@ -62,12 +62,12 @@ public class HudFragment extends Fragment{ ImageButtonStyle style = Styles.clearTransi; - select.addImageButton(Icon.menuLargeSmall, style, ui.paused::show); - flip = select.addImageButton(Icon.arrowUpSmall, style, this::toggleMenus).get(); + select.addImageButton(Icon.menu, style, ui.paused::show); + flip = select.addImageButton(Icon.upOpen, style, this::toggleMenus).get(); - select.addImageButton(Icon.pasteSmall, style, ui.schematics::show); + select.addImageButton(Icon.paste, style, ui.schematics::show); - select.addImageButton(Icon.pauseSmall, style, () -> { + select.addImageButton(Icon.pause, style, () -> { if(net.active()){ ui.listfrag.toggle(); }else{ @@ -75,14 +75,14 @@ public class HudFragment extends Fragment{ } }).name("pause").update(i -> { if(net.active()){ - i.getStyle().imageUp = Icon.playersSmall; + i.getStyle().imageUp = Icon.user; }else{ i.setDisabled(false); - i.getStyle().imageUp = state.is(State.paused) ? Icon.playSmall : Icon.pauseSmall; + i.getStyle().imageUp = state.is(State.paused) ? Icon.play : Icon.pause; } }); - select.addImageButton(Icon.chatSmall, style,() -> { + select.addImageButton(Icon.chat, style,() -> { if(net.active() && mobile){ if(ui.chatfrag.shown()){ ui.chatfrag.hide(); @@ -96,9 +96,9 @@ public class HudFragment extends Fragment{ } }).update(i -> { if(net.active() && mobile){ - i.getStyle().imageUp = Icon.chatSmall; + i.getStyle().imageUp = Icon.chat; }else{ - i.getStyle().imageUp = Icon.databaseSmall; + i.getStyle().imageUp = Icon.book; } }); @@ -203,7 +203,7 @@ public class HudFragment extends Fragment{ float[] position = {0, 0}; t.row(); - t.addImageTextButton("$editor.removeunit", Icon.quit, Styles.togglet, () -> {}).fillX().update(b -> { + t.addImageTextButton("$editor.removeunit", Icon.cancel, Styles.togglet, () -> {}).fillX().update(b -> { boolean[] found = {false}; if(b.isChecked()){ Element e = Core.scene.hit(Core.input.mouseX(), Core.input.mouseY(), true); @@ -319,7 +319,7 @@ public class HudFragment extends Fragment{ setDisabled(() -> !control.tutorial.canNext()); }}, new Table(f -> { - f.left().addImageButton(Icon.arrowLeftSmall, Styles.emptyi, () -> { + f.left().addImageButton(Icon.left, Styles.emptyi, () -> { control.tutorial.prevSentence(); }).width(44f).growY().visible(() -> control.tutorial.canPrev()); })); @@ -393,7 +393,7 @@ public class HudFragment extends Fragment{ } }); table.margin(12); - table.addImage(Icon.check).pad(3); + table.addImage(Icon.ok).pad(3); table.add(text).wrap().width(280f).get().setAlignment(Align.center, Align.center); table.pack(); @@ -562,7 +562,7 @@ public class HudFragment extends Fragment{ private void toggleMenus(){ if(flip != null){ - flip.getStyle().imageUp = shown ? Icon.arrowDownSmall : Icon.arrowUpSmall; + flip.getStyle().imageUp = shown ? Icon.downOpen : Icon.upOpen; } shown = !shown; @@ -650,7 +650,7 @@ public class HudFragment extends Fragment{ } private void addPlayButton(Table table){ - table.right().addImageButton(Icon.playSmaller, Styles.righti, 30f, () -> { + table.right().addImageButton(Icon.play, Styles.righti, 30f, () -> { if(net.client() && player.isAdmin){ Call.onAdminRequest(player, AdminAction.wave); }else if(inLaunchWave()){ diff --git a/core/src/mindustry/ui/fragments/MenuFragment.java b/core/src/mindustry/ui/fragments/MenuFragment.java index 8737db0d9a..18fb8f1639 100644 --- a/core/src/mindustry/ui/fragments/MenuFragment.java +++ b/core/src/mindustry/ui/fragments/MenuFragment.java @@ -60,7 +60,7 @@ public class MenuFragment extends Fragment{ parent.fill(c -> c.bottom().left().addButton("", Styles.infot, ui.about::show).size(84, 45)); parent.fill(c -> c.bottom().right().addButton("", Styles.discordt, ui.discord::show).size(84, 45)); }else if(becontrol.active()){ - parent.fill(c -> c.bottom().right().addImageTextButton("$be.check", Icon.refreshSmall, () -> { + parent.fill(c -> c.bottom().right().addImageTextButton("$be.check", Icon.refresh, () -> { ui.loadfrag.show(); becontrol.checkUpdate(result -> { ui.loadfrag.hide(); @@ -100,13 +100,13 @@ public class MenuFragment extends Fragment{ container.defaults().size(size).pad(5).padTop(4f); MobileButton - play = new MobileButton(Icon.play2, "$campaign", () -> checkPlay(ui.deploy::show)), - custom = new MobileButton(Icon.playCustom, "$customgame", () -> checkPlay(ui.custom::show)), - maps = new MobileButton(Icon.load, "$loadgame", () -> checkPlay(ui.load::show)), + play = new MobileButton(Icon.play, "$campaign", () -> checkPlay(ui.deploy::show)), + custom = new MobileButton(Icon.rightOpenOut, "$customgame", () -> checkPlay(ui.custom::show)), + maps = new MobileButton(Icon.download, "$loadgame", () -> checkPlay(ui.load::show)), join = new MobileButton(Icon.add, "$joingame", () -> checkPlay(ui.join::show)), - editor = new MobileButton(Icon.editor, "$editor", () -> checkPlay(ui.maps::show)), - tools = new MobileButton(Icon.tools, "$settings", ui.settings::show), - mods = new MobileButton(Icon.wiki, "$mods", ui.mods::show), + editor = new MobileButton(Icon.terrain, "$editor", () -> checkPlay(ui.maps::show)), + tools = new MobileButton(Icon.settings, "$settings", ui.settings::show), + mods = new MobileButton(Icon.box, "$mods", ui.mods::show), donate = new MobileButton(Icon.link, "$website", () -> Core.net.openURI("https://anuke.itch.io/mindustry")), exit = new MobileButton(Icon.exit, "$quit", () -> Core.app.exit()); @@ -164,20 +164,20 @@ public class MenuFragment extends Fragment{ t.defaults().width(width).height(70f); buttons(t, - new Buttoni("$play", Icon.play2Small, - new Buttoni("$campaign", Icon.play2Small, () -> checkPlay(ui.deploy::show)), - new Buttoni("$joingame", Icon.addSmall, () -> checkPlay(ui.join::show)), - new Buttoni("$customgame", Icon.editorSmall, () -> checkPlay(ui.custom::show)), - new Buttoni("$loadgame", Icon.loadSmall, () -> checkPlay(ui.load::show)), - new Buttoni("$tutorial", Icon.infoSmall, () -> checkPlay(control::playTutorial)) + new Buttoni("$play", Icon.play, + new Buttoni("$campaign", Icon.play, () -> checkPlay(ui.deploy::show)), + new Buttoni("$joingame", Icon.add, () -> checkPlay(ui.join::show)), + new Buttoni("$customgame", Icon.terrain, () -> checkPlay(ui.custom::show)), + new Buttoni("$loadgame", Icon.download, () -> checkPlay(ui.load::show)), + new Buttoni("$tutorial", Icon.info, () -> checkPlay(control::playTutorial)) ), - new Buttoni("$editor", Icon.editorSmall, () -> checkPlay(ui.maps::show)), steam ? new Buttoni("$workshop", Icon.saveSmall, platform::openWorkshop) : null, - new Buttoni(Core.bundle.get("mods") + "\n" + Core.bundle.get("mods.alpha"), Icon.wikiSmall, ui.mods::show), + new Buttoni("$editor", Icon.terrain, () -> checkPlay(ui.maps::show)), steam ? new Buttoni("$workshop", Icon.save, platform::openWorkshop) : null, + new Buttoni(Core.bundle.get("mods") + "\n" + Core.bundle.get("mods.alpha"), Icon.box, ui.mods::show), //not enough space for this button - //new Buttoni("$schematics", Icon.pasteSmall, ui.schematics::show), - new Buttoni("$settings", Icon.toolsSmall, ui.settings::show), - new Buttoni("$about.button", Icon.infoSmall, ui.about::show), - new Buttoni("$quit", Icon.exitSmall, Core.app::exit) + //new Buttoni("$schematics", Icon.paste, ui.schematics::show), + new Buttoni("$settings", Icon.settings, ui.settings::show), + new Buttoni("$about.button", Icon.info, ui.about::show), + new Buttoni("$quit", Icon.exit, Core.app::exit) ); }).width(width).growY(); diff --git a/core/src/mindustry/ui/fragments/MinimapFragment.java b/core/src/mindustry/ui/fragments/MinimapFragment.java index d13fed8936..4a5c60a8d1 100644 --- a/core/src/mindustry/ui/fragments/MinimapFragment.java +++ b/core/src/mindustry/ui/fragments/MinimapFragment.java @@ -100,7 +100,7 @@ public class MinimapFragment extends Fragment{ t.row(); t.add().growY(); t.row(); - t.addImageTextButton("$back", Icon.backSmall, () -> shown = false).size(220f, 60f).pad(10f); + t.addImageTextButton("$back", Icon.leftOpen, () -> shown = false).size(220f, 60f).pad(10f); }); } diff --git a/core/src/mindustry/ui/fragments/PlacementFragment.java b/core/src/mindustry/ui/fragments/PlacementFragment.java index f02b0ab54f..f0c96e1338 100644 --- a/core/src/mindustry/ui/fragments/PlacementFragment.java +++ b/core/src/mindustry/ui/fragments/PlacementFragment.java @@ -202,7 +202,7 @@ public class PlacementFragment extends Fragment{ blockTable.row(); } - ImageButton button = blockTable.addImageButton(Icon.lockedSmall, Styles.selecti, () -> { + ImageButton button = blockTable.addImageButton(Icon.lock, Styles.selecti, () -> { if(unlocked(block)){ control.input.block = control.input.block == block ? null : block; selectedBlocks.put(currentCategory, control.input.block); @@ -311,7 +311,7 @@ public class PlacementFragment extends Fragment{ if(state.rules.bannedBlocks.contains(lastDisplay)){ topTable.row(); topTable.table(b -> { - b.addImage(Icon.cancelSmall).padRight(2).color(Color.scarlet); + b.addImage(Icon.cancel).padRight(2).color(Color.scarlet); b.add("$banned"); b.left(); }).padTop(2).left(); @@ -378,7 +378,7 @@ public class PlacementFragment extends Fragment{ continue; } - categories.addImageButton(Core.atlas.drawable("icon-" + cat.name() + "-smaller"), Styles.clearToggleTransi, () -> { + categories.addImageButton(ui.getIcon(cat.name()), Styles.clearToggleTransi, () -> { currentCategory = cat; if(control.input.block != null){ control.input.block = getSelectedBlock(currentCategory); diff --git a/core/src/mindustry/ui/fragments/PlayerListFragment.java b/core/src/mindustry/ui/fragments/PlayerListFragment.java index 113552006e..7a29b7ffb0 100644 --- a/core/src/mindustry/ui/fragments/PlayerListFragment.java +++ b/core/src/mindustry/ui/fragments/PlayerListFragment.java @@ -104,14 +104,14 @@ public class PlayerListFragment extends Fragment{ button.table(t -> { t.defaults().size(bs); - t.addImageButton(Icon.banSmall, Styles.clearPartiali, + t.addImageButton(Icon.hammer, Styles.clearPartiali, () -> ui.showConfirm("$confirm", "$confirmban", () -> Call.onAdminRequest(user, AdminAction.ban))); - t.addImageButton(Icon.cancelSmall, Styles.clearPartiali, + t.addImageButton(Icon.cancel, Styles.clearPartiali, () -> ui.showConfirm("$confirm", "$confirmkick", () -> Call.onAdminRequest(user, AdminAction.kick))); t.row(); - t.addImageButton(Icon.adminSmall, Styles.clearTogglePartiali, () -> { + t.addImageButton(Icon.admin, Styles.clearTogglePartiali, () -> { if(net.client()) return; String id = user.uuid; @@ -127,13 +127,13 @@ public class PlayerListFragment extends Fragment{ .touchable(() -> net.client() ? Touchable.disabled : Touchable.enabled) .checked(user.isAdmin); - t.addImageButton(Icon.zoomSmall, Styles.clearPartiali, () -> Call.onAdminRequest(user, AdminAction.trace)); + t.addImageButton(Icon.zoom, Styles.clearPartiali, () -> Call.onAdminRequest(user, AdminAction.trace)); }).padRight(12).size(bs + 10f, bs); }else if(!user.isLocal && !user.isAdmin && net.client() && playerGroup.size() >= 3 && player.getTeam() == user.getTeam()){ //votekick button.add().growY(); - button.addImageButton(Icon.banSmall, Styles.clearPartiali, + button.addImageButton(Icon.hammer, Styles.clearPartiali, () -> ui.showConfirm("$confirm", "$confirmvotekick", () -> Call.sendChatMessage("/votekick " + user.name))).size(h); } diff --git a/core/src/mindustry/world/blocks/logic/MessageBlock.java b/core/src/mindustry/world/blocks/logic/MessageBlock.java index cb7498138d..697dda9401 100644 --- a/core/src/mindustry/world/blocks/logic/MessageBlock.java +++ b/core/src/mindustry/world/blocks/logic/MessageBlock.java @@ -98,7 +98,7 @@ public class MessageBlock extends Block{ public void buildConfiguration(Tile tile, Table table){ MessageBlockEntity entity = tile.ent(); - table.addImageButton(Icon.pencilSmall, () -> { + table.addImageButton(Icon.pencil, () -> { if(mobile){ Core.input.getTextInput(new TextInput(){{ text = entity.message; diff --git a/core/src/mindustry/world/blocks/power/LightBlock.java b/core/src/mindustry/world/blocks/power/LightBlock.java index ad65313954..82637dd410 100644 --- a/core/src/mindustry/world/blocks/power/LightBlock.java +++ b/core/src/mindustry/world/blocks/power/LightBlock.java @@ -52,7 +52,7 @@ public class LightBlock extends Block{ public void buildConfiguration(Tile tile, Table table){ LightEntity entity = tile.ent(); - table.addImageButton(Icon.pencilSmall, () -> { + table.addImageButton(Icon.pencil, () -> { ui.picker.show(Tmp.c1.set(entity.color).a(0.5f), false, res -> { entity.color = res.rgba(); lastColor = entity.color; diff --git a/core/src/mindustry/world/blocks/units/CommandCenter.java b/core/src/mindustry/world/blocks/units/CommandCenter.java index be82783269..6676ebf9c8 100644 --- a/core/src/mindustry/world/blocks/units/CommandCenter.java +++ b/core/src/mindustry/world/blocks/units/CommandCenter.java @@ -66,7 +66,7 @@ public class CommandCenter extends Block{ super.load(); for(UnitCommand cmd : UnitCommand.all){ - commandRegions[cmd.ordinal()] = Core.atlas.find("icon-command-" + cmd.name() + "-small"); + commandRegions[cmd.ordinal()] = Core.atlas.find("Icon.command-" + cmd.name() + "-"); } } @@ -91,7 +91,7 @@ public class CommandCenter extends Block{ Table buttons = new Table(); for(UnitCommand cmd : UnitCommand.all){ - buttons.addImageButton(Core.atlas.drawable("icon-command-" + cmd.name() + "-small"), Styles.clearToggleTransi, () -> tile.configure(cmd.ordinal())) + buttons.addImageButton(Core.atlas.drawable("Icon.command-" + cmd.name() + "-"), Styles.clearToggleTransi, () -> tile.configure(cmd.ordinal())) .size(44).group(group).update(b -> b.setChecked(entity.command == cmd)); } table.add(buttons); diff --git a/desktop/src/mindustry/desktop/steam/SWorkshop.java b/desktop/src/mindustry/desktop/steam/SWorkshop.java index 4ede21944e..92de0fec07 100644 --- a/desktop/src/mindustry/desktop/steam/SWorkshop.java +++ b/desktop/src/mindustry/desktop/steam/SWorkshop.java @@ -101,12 +101,12 @@ public class SWorkshop implements SteamUGCCallback{ dialog.cont.add("$workshop.menu").pad(20f); dialog.addCloseButton(); - dialog.buttons.addImageTextButton("$view.workshop", Icon.linkSmall, () -> { + dialog.buttons.addImageTextButton("$view.workshop", Icon.link, () -> { viewListingID(id); dialog.hide(); }).size(210f, 64f); - dialog.buttons.addImageTextButton("$workshop.update", Icon.upgradeSmall, () -> { + dialog.buttons.addImageTextButton("$workshop.update", Icon.up, () -> { new FloatingDialog("$workshop.update"){{ setFillParent(false); cont.margin(10).add("$changelog").padRight(6f); @@ -181,11 +181,11 @@ public class SWorkshop implements SteamUGCCallback{ dialog.setFillParent(false); dialog.cont.add("$publish.confirm").width(600f).wrap(); dialog.addCloseButton(); - dialog.buttons.addImageTextButton("$eula", Icon.linkSmall, + dialog.buttons.addImageTextButton("$eula", Icon.link, () -> SVars.net.friends.activateGameOverlayToWebPage("https://steamcommunity.com/sharedfiles/workshoplegalagreement")) .size(210f, 64f); - dialog.buttons.addImageTextButton("$ok", Icon.checkSmall, () -> { + dialog.buttons.addImageTextButton("$ok", Icon.ok, () -> { Log.info("Accepted, publishing item..."); itemHandlers.add(published); ugc.createItem(SVars.steamID, WorkshopFileType.Community); diff --git a/tools/build.gradle b/tools/build.gradle index 6e7bc66d95..fa4c1ca32b 100644 --- a/tools/build.gradle +++ b/tools/build.gradle @@ -353,3 +353,10 @@ task updateBundles(dependsOn: classes, type: JavaExec){ standardInput = System.in workingDir = "../core/assets/bundles/" } + +task fontgen(dependsOn: classes, type: JavaExec){ + main = "mindustry.tools.FontGenerator" + classpath = sourceSets.main.runtimeClasspath + standardInput = System.in + workingDir = "../" +} diff --git a/tools/src/mindustry/tools/FontGenerator.java b/tools/src/mindustry/tools/FontGenerator.java index f081232266..32bbc121cf 100644 --- a/tools/src/mindustry/tools/FontGenerator.java +++ b/tools/src/mindustry/tools/FontGenerator.java @@ -42,6 +42,7 @@ public class FontGenerator{ ZipFi zip = new ZipFi(folder.child("font.zip")); Fi dest = folder.child("font.ttf"); zip.list()[0].child("font").child("fontello.ttf").copyTo(dest); + dest.copyTo(Fi.get("core/assets/fonts/icon.ttf")); Log.info("Merge...");