diff --git a/res/ui/building_icons/item_producer.png b/res/ui/building_icons/item_producer.png new file mode 100644 index 00000000..ca267ea6 Binary files /dev/null and b/res/ui/building_icons/item_producer.png differ diff --git a/res/ui/building_tutorials/item_producer.png b/res/ui/building_tutorials/item_producer.png new file mode 100644 index 00000000..b0d15387 Binary files /dev/null and b/res/ui/building_tutorials/item_producer.png differ diff --git a/res/ui/icons/advantage_buildings.png b/res/ui/icons/advantage_buildings.png new file mode 100644 index 00000000..91e7a565 Binary files /dev/null and b/res/ui/icons/advantage_buildings.png differ diff --git a/res/ui/icons/advantage_dark_mode.png b/res/ui/icons/advantage_dark_mode.png new file mode 100644 index 00000000..c176b8ad Binary files /dev/null and b/res/ui/icons/advantage_dark_mode.png differ diff --git a/res/ui/icons/advantage_markers.png b/res/ui/icons/advantage_markers.png new file mode 100644 index 00000000..af3835c7 Binary files /dev/null and b/res/ui/icons/advantage_markers.png differ diff --git a/res/ui/icons/advantage_new_levels.png b/res/ui/icons/advantage_new_levels.png new file mode 100644 index 00000000..730732fe Binary files /dev/null and b/res/ui/icons/advantage_new_levels.png differ diff --git a/res/ui/icons/advantage_savegames.png b/res/ui/icons/advantage_savegames.png new file mode 100644 index 00000000..79e7c327 Binary files /dev/null and b/res/ui/icons/advantage_savegames.png differ diff --git a/res/ui/icons/advantage_support.png b/res/ui/icons/advantage_support.png new file mode 100644 index 00000000..b86703a5 Binary files /dev/null and b/res/ui/icons/advantage_support.png differ diff --git a/res/ui/icons/advantage_upgrades.png b/res/ui/icons/advantage_upgrades.png new file mode 100644 index 00000000..e06b6d82 Binary files /dev/null and b/res/ui/icons/advantage_upgrades.png differ diff --git a/res/ui/icons/advantage_wires.png b/res/ui/icons/advantage_wires.png new file mode 100644 index 00000000..bb26fa87 Binary files /dev/null and b/res/ui/icons/advantage_wires.png differ diff --git a/res/ui/icons/demo_steam_link_indicator.png b/res/ui/icons/demo_steam_link_indicator.png new file mode 100644 index 00000000..98add9df Binary files /dev/null and b/res/ui/icons/demo_steam_link_indicator.png differ diff --git a/res_built/atlas/atlas0_hq.json b/res_built/atlas/atlas0_hq.json index 30e7cbe0..a1ad4494 100644 --- a/res_built/atlas/atlas0_hq.json +++ b/res_built/atlas/atlas0_hq.json @@ -58,7 +58,7 @@ }, "sprites/belt/built/forward_7.png": { - "frame": {"x":1144,"y":1261,"w":116,"h":144}, + "frame": {"x":1187,"y":1407,"w":116,"h":144}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":0,"w":116,"h":144}, @@ -66,7 +66,7 @@ }, "sprites/belt/built/forward_8.png": { - "frame": {"x":1187,"y":1411,"w":116,"h":144}, + "frame": {"x":1187,"y":1557,"w":116,"h":144}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":0,"w":116,"h":144}, @@ -74,7 +74,7 @@ }, "sprites/belt/built/forward_9.png": { - "frame": {"x":1187,"y":1561,"w":116,"h":144}, + "frame": {"x":1208,"y":1707,"w":116,"h":144}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":0,"w":116,"h":144}, @@ -114,7 +114,7 @@ }, "sprites/belt/built/left_0.png": { - "frame": {"x":1272,"y":1137,"w":130,"h":130}, + "frame": {"x":1281,"y":1170,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -122,7 +122,7 @@ }, "sprites/belt/built/left_1.png": { - "frame": {"x":1266,"y":1273,"w":130,"h":130}, + "frame": {"x":1417,"y":1170,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -130,7 +130,7 @@ }, "sprites/belt/built/left_2.png": { - "frame": {"x":1443,"y":1559,"w":130,"h":130}, + "frame": {"x":1581,"y":1559,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -138,7 +138,7 @@ }, "sprites/belt/built/left_3.png": { - "frame": {"x":1450,"y":1695,"w":130,"h":130}, + "frame": {"x":1544,"y":1695,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -146,7 +146,7 @@ }, "sprites/belt/built/left_4.png": { - "frame": {"x":1460,"y":1831,"w":130,"h":130}, + "frame": {"x":1443,"y":1851,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -154,7 +154,7 @@ }, "sprites/belt/built/left_5.png": { - "frame": {"x":1538,"y":1273,"w":130,"h":130}, + "frame": {"x":1579,"y":1831,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -162,7 +162,7 @@ }, "sprites/belt/built/left_6.png": { - "frame": {"x":1544,"y":1137,"w":130,"h":130}, + "frame": {"x":1680,"y":1695,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -170,7 +170,7 @@ }, "sprites/belt/built/left_7.png": { - "frame": {"x":1579,"y":1559,"w":130,"h":130}, + "frame": {"x":1715,"y":1831,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -178,7 +178,7 @@ }, "sprites/belt/built/left_8.png": { - "frame": {"x":1586,"y":1695,"w":130,"h":130}, + "frame": {"x":1590,"y":450,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -186,7 +186,7 @@ }, "sprites/belt/built/left_9.png": { - "frame": {"x":1596,"y":1831,"w":130,"h":130}, + "frame": {"x":1449,"y":567,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -194,7 +194,7 @@ }, "sprites/belt/built/left_10.png": { - "frame": {"x":1314,"y":1701,"w":130,"h":130}, + "frame": {"x":1309,"y":1565,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -202,7 +202,7 @@ }, "sprites/belt/built/left_11.png": { - "frame": {"x":1324,"y":1837,"w":130,"h":130}, + "frame": {"x":1443,"y":1423,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -210,7 +210,7 @@ }, "sprites/belt/built/left_12.png": { - "frame": {"x":1402,"y":1273,"w":130,"h":130}, + "frame": {"x":1445,"y":1559,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -218,7 +218,7 @@ }, "sprites/belt/built/left_13.png": { - "frame": {"x":1408,"y":1137,"w":130,"h":130}, + "frame": {"x":1579,"y":1423,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -226,7 +226,7 @@ }, "sprites/belt/built/right_0.png": { - "frame": {"x":1590,"y":450,"w":130,"h":130}, + "frame": {"x":1585,"y":586,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -234,7 +234,7 @@ }, "sprites/belt/built/right_1.png": { - "frame": {"x":1449,"y":567,"w":130,"h":130}, + "frame": {"x":1449,"y":703,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -242,7 +242,7 @@ }, "sprites/belt/built/right_2.png": { - "frame": {"x":1584,"y":858,"w":130,"h":130}, + "frame": {"x":1651,"y":994,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -250,7 +250,7 @@ }, "sprites/belt/built/right_3.png": { - "frame": {"x":1565,"y":994,"w":130,"h":130}, + "frame": {"x":1553,"y":1130,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -258,7 +258,7 @@ }, "sprites/belt/built/right_4.png": { - "frame": {"x":1701,"y":994,"w":130,"h":130}, + "frame": {"x":1689,"y":1130,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -266,7 +266,7 @@ }, "sprites/belt/built/right_5.png": { - "frame": {"x":1680,"y":1130,"w":130,"h":130}, + "frame": {"x":1676,"y":1266,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -274,7 +274,7 @@ }, "sprites/belt/built/right_6.png": { - "frame": {"x":1720,"y":858,"w":130,"h":130}, + "frame": {"x":1715,"y":1402,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -282,7 +282,7 @@ }, "sprites/belt/built/right_7.png": { - "frame": {"x":1816,"y":1130,"w":130,"h":130}, + "frame": {"x":1717,"y":1538,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -290,7 +290,7 @@ }, "sprites/belt/built/right_8.png": { - "frame": {"x":1837,"y":994,"w":130,"h":130}, + "frame": {"x":1720,"y":858,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -298,7 +298,7 @@ }, "sprites/belt/built/right_9.png": { - "frame": {"x":1726,"y":450,"w":130,"h":130}, + "frame": {"x":1787,"y":994,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -306,7 +306,7 @@ }, "sprites/belt/built/right_10.png": { - "frame": {"x":1585,"y":586,"w":130,"h":130}, + "frame": {"x":1585,"y":722,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -314,7 +314,7 @@ }, "sprites/belt/built/right_11.png": { - "frame": {"x":1449,"y":703,"w":130,"h":130}, + "frame": {"x":1448,"y":839,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -322,7 +322,7 @@ }, "sprites/belt/built/right_12.png": { - "frame": {"x":1585,"y":722,"w":130,"h":130}, + "frame": {"x":1584,"y":858,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -330,7 +330,7 @@ }, "sprites/belt/built/right_13.png": { - "frame": {"x":1448,"y":839,"w":130,"h":130}, + "frame": {"x":1515,"y":994,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -386,7 +386,7 @@ }, "sprites/blueprints/belt_left.png": { - "frame": {"x":1721,"y":586,"w":130,"h":130}, + "frame": {"x":1825,"y":1130,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -394,7 +394,7 @@ }, "sprites/blueprints/belt_right.png": { - "frame": {"x":1721,"y":722,"w":130,"h":130}, + "frame": {"x":1812,"y":1266,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -402,7 +402,7 @@ }, "sprites/blueprints/belt_top.png": { - "frame": {"x":1309,"y":1409,"w":116,"h":144}, + "frame": {"x":1216,"y":1857,"w":116,"h":144}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":0,"w":116,"h":144}, @@ -418,7 +418,7 @@ }, "sprites/blueprints/constant_signal.png": { - "frame": {"x":1856,"y":858,"w":105,"h":130}, + "frame": {"x":1851,"y":1402,"w":105,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":20,"y":0,"w":105,"h":130}, @@ -442,7 +442,7 @@ }, "sprites/blueprints/display.png": { - "frame": {"x":1309,"y":1559,"w":128,"h":136}, + "frame": {"x":1309,"y":1423,"w":128,"h":136}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":8,"y":8,"w":128,"h":136}, @@ -456,9 +456,17 @@ "spriteSourceSize": {"x":16,"y":0,"w":268,"h":144}, "sourceSize": {"w":288,"h":144} }, +"sprites/blueprints/item_producer.png": +{ + "frame": {"x":1144,"y":1111,"w":131,"h":142}, + "rotated": false, + "trimmed": true, + "spriteSourceSize": {"x":8,"y":0,"w":131,"h":142}, + "sourceSize": {"w":144,"h":144} +}, "sprites/blueprints/lever.png": { - "frame": {"x":1857,"y":631,"w":100,"h":116}, + "frame": {"x":1726,"y":450,"w":100,"h":116}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":22,"y":9,"w":100,"h":116}, @@ -602,7 +610,7 @@ }, "sprites/blueprints/transistor-mirrored.png": { - "frame": {"x":1208,"y":1711,"w":100,"h":144}, + "frame": {"x":1409,"y":1020,"w":100,"h":144}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":44,"y":0,"w":100,"h":144}, @@ -610,7 +618,7 @@ }, "sprites/blueprints/transistor.png": { - "frame": {"x":1216,"y":1861,"w":102,"h":144}, + "frame": {"x":1330,"y":1701,"w":102,"h":144}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":0,"w":102,"h":144}, @@ -754,7 +762,7 @@ }, "sprites/buildings/belt_left.png": { - "frame": {"x":1272,"y":1137,"w":130,"h":130}, + "frame": {"x":1281,"y":1170,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":14,"w":130,"h":130}, @@ -762,7 +770,7 @@ }, "sprites/buildings/belt_right.png": { - "frame": {"x":1590,"y":450,"w":130,"h":130}, + "frame": {"x":1585,"y":586,"w":130,"h":130}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":14,"w":130,"h":130}, @@ -786,7 +794,7 @@ }, "sprites/buildings/constant_signal.png": { - "frame": {"x":1862,"y":496,"w":104,"h":129}, + "frame": {"x":1853,"y":1538,"w":104,"h":129}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":20,"y":0,"w":104,"h":129}, @@ -832,9 +840,17 @@ "spriteSourceSize": {"x":14,"y":16,"w":548,"h":549}, "sourceSize": {"w":576,"h":576} }, +"sprites/buildings/item_producer.png": +{ + "frame": {"x":1144,"y":1259,"w":130,"h":142}, + "rotated": false, + "trimmed": true, + "spriteSourceSize": {"x":8,"y":0,"w":130,"h":142}, + "sourceSize": {"w":144,"h":144} +}, "sprites/buildings/lever.png": { - "frame": {"x":1674,"y":1273,"w":98,"h":114}, + "frame": {"x":1721,"y":586,"w":98,"h":114}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":23,"y":10,"w":98,"h":114}, @@ -842,7 +858,7 @@ }, "sprites/buildings/logic_gate-not.png": { - "frame": {"x":1144,"y":1111,"w":122,"h":144}, + "frame": {"x":1281,"y":1020,"w":122,"h":144}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":12,"y":0,"w":122,"h":144}, @@ -978,7 +994,7 @@ }, "sprites/buildings/transistor-mirrored.png": { - "frame": {"x":1537,"y":1409,"w":99,"h":144}, + "frame": {"x":1338,"y":1851,"w":99,"h":144}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":45,"y":0,"w":99,"h":144}, @@ -986,7 +1002,7 @@ }, "sprites/buildings/transistor.png": { - "frame": {"x":1431,"y":1409,"w":100,"h":144}, + "frame": {"x":1438,"y":1701,"w":100,"h":144}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":0,"w":100,"h":144}, @@ -1010,7 +1026,7 @@ }, "sprites/buildings/underground_belt_entry.png": { - "frame": {"x":1279,"y":1020,"w":137,"h":111}, + "frame": {"x":1390,"y":1306,"w":137,"h":111}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":5,"y":33,"w":137,"h":111}, @@ -1018,7 +1034,7 @@ }, "sprites/buildings/underground_belt_exit-tier2.png": { - "frame": {"x":1422,"y":1020,"w":137,"h":111}, + "frame": {"x":1533,"y":1306,"w":137,"h":111}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":5,"y":0,"w":137,"h":111}, @@ -1082,7 +1098,7 @@ }, "sprites/colors/blue.png": { - "frame": {"x":1972,"y":586,"w":54,"h":49}, + "frame": {"x":1919,"y":685,"w":54,"h":49}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":54,"h":49}, @@ -1090,7 +1106,7 @@ }, "sprites/colors/cyan.png": { - "frame": {"x":1963,"y":641,"w":54,"h":49}, + "frame": {"x":1579,"y":1967,"w":54,"h":49}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":54,"h":49}, @@ -1098,7 +1114,7 @@ }, "sprites/colors/green.png": { - "frame": {"x":1963,"y":696,"w":54,"h":49}, + "frame": {"x":1639,"y":1967,"w":54,"h":49}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":54,"h":49}, @@ -1106,7 +1122,7 @@ }, "sprites/colors/purple.png": { - "frame": {"x":1419,"y":1973,"w":54,"h":49}, + "frame": {"x":1699,"y":1967,"w":54,"h":49}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":54,"h":49}, @@ -1114,7 +1130,7 @@ }, "sprites/colors/red.png": { - "frame": {"x":1479,"y":1967,"w":54,"h":49}, + "frame": {"x":1759,"y":1967,"w":54,"h":49}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":54,"h":49}, @@ -1122,7 +1138,7 @@ }, "sprites/colors/uncolored.png": { - "frame": {"x":1539,"y":1967,"w":54,"h":49}, + "frame": {"x":1819,"y":1967,"w":54,"h":49}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":54,"h":49}, @@ -1130,7 +1146,7 @@ }, "sprites/colors/white.png": { - "frame": {"x":1599,"y":1967,"w":54,"h":49}, + "frame": {"x":1979,"y":685,"w":54,"h":49}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":54,"h":49}, @@ -1138,7 +1154,7 @@ }, "sprites/colors/yellow.png": { - "frame": {"x":1659,"y":1967,"w":54,"h":49}, + "frame": {"x":1923,"y":740,"w":54,"h":49}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":54,"h":49}, @@ -1170,7 +1186,7 @@ }, "sprites/misc/processor_disabled.png": { - "frame": {"x":1888,"y":1266,"w":78,"h":81}, + "frame": {"x":1916,"y":598,"w":78,"h":81}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":10,"y":10,"w":78,"h":81}, @@ -1178,7 +1194,7 @@ }, "sprites/misc/processor_disconnected.png": { - "frame": {"x":1972,"y":496,"w":65,"h":84}, + "frame": {"x":1856,"y":830,"w":65,"h":84}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":17,"y":8,"w":65,"h":84}, @@ -1186,7 +1202,7 @@ }, "sprites/misc/reader_overlay.png": { - "frame": {"x":1778,"y":1266,"w":104,"h":70}, + "frame": {"x":1280,"y":1306,"w":104,"h":70}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":20,"y":38,"w":104,"h":70}, @@ -1194,7 +1210,7 @@ }, "sprites/misc/slot_bad_arrow.png": { - "frame": {"x":1674,"y":1513,"w":35,"h":35}, + "frame": {"x":1216,"y":2007,"w":35,"h":35}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":2,"y":2,"w":35,"h":35}, @@ -1210,7 +1226,7 @@ }, "sprites/misc/storage_overlay.png": { - "frame": {"x":1324,"y":1973,"w":89,"h":44}, + "frame": {"x":1828,"y":780,"w":89,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":1,"w":89,"h":44}, @@ -1226,7 +1242,7 @@ }, "sprites/wires/boolean_false.png": { - "frame": {"x":1768,"y":1630,"w":31,"h":41}, + "frame": {"x":1832,"y":448,"w":31,"h":41}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":5,"w":31,"h":41}, @@ -1242,7 +1258,7 @@ }, "sprites/wires/display/blue.png": { - "frame": {"x":1715,"y":1513,"w":47,"h":47}, + "frame": {"x":1983,"y":740,"w":47,"h":47}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":1,"w":47,"h":47}, @@ -1250,7 +1266,7 @@ }, "sprites/wires/display/cyan.png": { - "frame": {"x":1715,"y":1566,"w":47,"h":47}, + "frame": {"x":1927,"y":795,"w":47,"h":47}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":1,"w":47,"h":47}, @@ -1258,7 +1274,7 @@ }, "sprites/wires/display/green.png": { - "frame": {"x":1715,"y":1619,"w":47,"h":47}, + "frame": {"x":1927,"y":848,"w":47,"h":47}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":1,"w":47,"h":47}, @@ -1266,7 +1282,7 @@ }, "sprites/wires/display/purple.png": { - "frame": {"x":1768,"y":1524,"w":47,"h":47}, + "frame": {"x":1927,"y":901,"w":47,"h":47}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":1,"w":47,"h":47}, @@ -1274,7 +1290,7 @@ }, "sprites/wires/display/red.png": { - "frame": {"x":1768,"y":1577,"w":47,"h":47}, + "frame": {"x":1443,"y":1987,"w":47,"h":47}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":1,"w":47,"h":47}, @@ -1282,7 +1298,7 @@ }, "sprites/wires/display/white.png": { - "frame": {"x":1821,"y":1524,"w":47,"h":47}, + "frame": {"x":1496,"y":1987,"w":47,"h":47}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":1,"w":47,"h":47}, @@ -1290,7 +1306,7 @@ }, "sprites/wires/display/yellow.png": { - "frame": {"x":1821,"y":1577,"w":47,"h":47}, + "frame": {"x":1948,"y":1266,"w":47,"h":47}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":1,"w":47,"h":47}, @@ -1298,7 +1314,7 @@ }, "sprites/wires/lever_on.png": { - "frame": {"x":1674,"y":1393,"w":101,"h":114}, + "frame": {"x":1721,"y":706,"w":101,"h":114}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":21,"y":10,"w":101,"h":114}, @@ -1314,7 +1330,7 @@ }, "sprites/wires/logical_ejector.png": { - "frame": {"x":1872,"y":1444,"w":60,"h":67}, + "frame": {"x":1856,"y":920,"w":60,"h":67}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":44,"y":0,"w":60,"h":67}, @@ -1322,7 +1338,7 @@ }, "sprites/wires/network_conflict.png": { - "frame": {"x":1874,"y":1517,"w":47,"h":44}, + "frame": {"x":1948,"y":1319,"w":47,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":2,"w":47,"h":44}, @@ -1330,7 +1346,7 @@ }, "sprites/wires/network_empty.png": { - "frame": {"x":1874,"y":1567,"w":41,"h":48}, + "frame": {"x":2000,"y":587,"w":41,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":5,"y":0,"w":41,"h":48}, @@ -1338,7 +1354,7 @@ }, "sprites/wires/overlay_tile.png": { - "frame": {"x":1857,"y":753,"w":96,"h":96}, + "frame": {"x":1832,"y":496,"w":96,"h":96}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96}, @@ -1370,7 +1386,7 @@ }, "sprites/wires/sets/conflict_turn.png": { - "frame": {"x":1781,"y":1342,"w":85,"h":85}, + "frame": {"x":1934,"y":496,"w":85,"h":85}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":59,"y":59,"w":85,"h":85}, @@ -1402,7 +1418,7 @@ }, "sprites/wires/sets/first_turn.png": { - "frame": {"x":1781,"y":1433,"w":85,"h":85}, + "frame": {"x":1825,"y":598,"w":85,"h":85}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":59,"y":59,"w":85,"h":85}, @@ -1418,7 +1434,7 @@ }, "sprites/wires/sets/second_forward.png": { - "frame": {"x":1642,"y":1409,"w":26,"h":144}, + "frame": {"x":1816,"y":1674,"w":26,"h":144}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":59,"y":0,"w":26,"h":144}, @@ -1434,7 +1450,7 @@ }, "sprites/wires/sets/second_turn.png": { - "frame": {"x":1872,"y":1353,"w":85,"h":85}, + "frame": {"x":1828,"y":689,"w":85,"h":85}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":59,"y":59,"w":85,"h":85}, @@ -1455,6 +1471,6 @@ "format": "RGBA8888", "size": {"w":2048,"h":2048}, "scale": "0.75", - "smartupdate": "$TexturePacker:SmartUpdate:19330d11a27d320d8e46be8f211ea26a:6c32332cb8456652726098bfd11407a1:908b89f5ca8ff73e331a35a3b14d0604$" + "smartupdate": "$TexturePacker:SmartUpdate:a1c027d325ef1c92a9318164b1241662:a9c9c3627ec9506697a7e24a7a287d67:908b89f5ca8ff73e331a35a3b14d0604$" } } diff --git a/res_built/atlas/atlas0_hq.png b/res_built/atlas/atlas0_hq.png index db348675..df712cd1 100644 Binary files a/res_built/atlas/atlas0_hq.png and b/res_built/atlas/atlas0_hq.png differ diff --git a/res_built/atlas/atlas0_lq.json b/res_built/atlas/atlas0_lq.json index b70f90d2..abfdebb8 100644 --- a/res_built/atlas/atlas0_lq.json +++ b/res_built/atlas/atlas0_lq.json @@ -2,7 +2,7 @@ "sprites/belt/built/forward_0.png": { - "frame": {"x":803,"y":522,"w":40,"h":48}, + "frame": {"x":903,"y":557,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -10,7 +10,7 @@ }, "sprites/belt/built/forward_1.png": { - "frame": {"x":887,"y":543,"w":40,"h":48}, + "frame": {"x":949,"y":595,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -18,7 +18,7 @@ }, "sprites/belt/built/forward_2.png": { - "frame": {"x":144,"y":422,"w":40,"h":48}, + "frame": {"x":190,"y":422,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -26,7 +26,7 @@ }, "sprites/belt/built/forward_3.png": { - "frame": {"x":190,"y":422,"w":40,"h":48}, + "frame": {"x":236,"y":422,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -34,7 +34,7 @@ }, "sprites/belt/built/forward_4.png": { - "frame": {"x":236,"y":422,"w":40,"h":48}, + "frame": {"x":282,"y":441,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -42,7 +42,7 @@ }, "sprites/belt/built/forward_5.png": { - "frame": {"x":282,"y":441,"w":40,"h":48}, + "frame": {"x":328,"y":461,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -50,7 +50,7 @@ }, "sprites/belt/built/forward_6.png": { - "frame": {"x":328,"y":461,"w":40,"h":48}, + "frame": {"x":374,"y":461,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -58,7 +58,7 @@ }, "sprites/belt/built/forward_7.png": { - "frame": {"x":374,"y":461,"w":40,"h":48}, + "frame": {"x":420,"y":464,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -66,7 +66,7 @@ }, "sprites/belt/built/forward_8.png": { - "frame": {"x":420,"y":464,"w":40,"h":48}, + "frame": {"x":506,"y":482,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -74,7 +74,7 @@ }, "sprites/belt/built/forward_9.png": { - "frame": {"x":506,"y":482,"w":40,"h":48}, + "frame": {"x":552,"y":525,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -82,7 +82,7 @@ }, "sprites/belt/built/forward_10.png": { - "frame": {"x":933,"y":553,"w":40,"h":48}, + "frame": {"x":6,"y":409,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -90,7 +90,7 @@ }, "sprites/belt/built/forward_11.png": { - "frame": {"x":6,"y":409,"w":40,"h":48}, + "frame": {"x":52,"y":409,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -98,7 +98,7 @@ }, "sprites/belt/built/forward_12.png": { - "frame": {"x":52,"y":409,"w":40,"h":48}, + "frame": {"x":98,"y":409,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -106,7 +106,7 @@ }, "sprites/belt/built/forward_13.png": { - "frame": {"x":98,"y":409,"w":40,"h":48}, + "frame": {"x":144,"y":422,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -114,7 +114,7 @@ }, "sprites/belt/built/left_0.png": { - "frame": {"x":887,"y":493,"w":44,"h":44}, + "frame": {"x":395,"y":311,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -122,7 +122,7 @@ }, "sprites/belt/built/left_1.png": { - "frame": {"x":937,"y":503,"w":44,"h":44}, + "frame": {"x":445,"y":311,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -130,7 +130,7 @@ }, "sprites/belt/built/left_2.png": { - "frame": {"x":292,"y":322,"w":44,"h":44}, + "frame": {"x":392,"y":361,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -138,7 +138,7 @@ }, "sprites/belt/built/left_3.png": { - "frame": {"x":342,"y":341,"w":44,"h":44}, + "frame": {"x":442,"y":361,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -146,7 +146,7 @@ }, "sprites/belt/built/left_4.png": { - "frame": {"x":392,"y":361,"w":44,"h":44}, + "frame": {"x":492,"y":364,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -154,7 +154,7 @@ }, "sprites/belt/built/left_5.png": { - "frame": {"x":442,"y":361,"w":44,"h":44}, + "frame": {"x":542,"y":382,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -162,7 +162,7 @@ }, "sprites/belt/built/left_6.png": { - "frame": {"x":492,"y":364,"w":44,"h":44}, + "frame": {"x":592,"y":425,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -170,7 +170,7 @@ }, "sprites/belt/built/left_7.png": { - "frame": {"x":542,"y":382,"w":44,"h":44}, + "frame": {"x":642,"y":425,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -178,7 +178,7 @@ }, "sprites/belt/built/left_8.png": { - "frame": {"x":592,"y":425,"w":44,"h":44}, + "frame": {"x":692,"y":426,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -186,7 +186,7 @@ }, "sprites/belt/built/left_9.png": { - "frame": {"x":642,"y":425,"w":44,"h":44}, + "frame": {"x":742,"y":470,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -194,7 +194,7 @@ }, "sprites/belt/built/left_10.png": { - "frame": {"x":395,"y":311,"w":44,"h":44}, + "frame": {"x":192,"y":322,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -202,7 +202,7 @@ }, "sprites/belt/built/left_11.png": { - "frame": {"x":445,"y":311,"w":44,"h":44}, + "frame": {"x":242,"y":322,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -210,7 +210,7 @@ }, "sprites/belt/built/left_12.png": { - "frame": {"x":192,"y":322,"w":44,"h":44}, + "frame": {"x":292,"y":322,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -218,7 +218,7 @@ }, "sprites/belt/built/left_13.png": { - "frame": {"x":242,"y":322,"w":44,"h":44}, + "frame": {"x":342,"y":341,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -226,7 +226,7 @@ }, "sprites/belt/built/right_0.png": { - "frame": {"x":692,"y":426,"w":44,"h":44}, + "frame": {"x":6,"y":359,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -234,7 +234,7 @@ }, "sprites/belt/built/right_1.png": { - "frame": {"x":742,"y":470,"w":44,"h":44}, + "frame": {"x":56,"y":359,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -242,7 +242,7 @@ }, "sprites/belt/built/right_2.png": { - "frame": {"x":206,"y":372,"w":44,"h":44}, + "frame": {"x":306,"y":391,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -250,7 +250,7 @@ }, "sprites/belt/built/right_3.png": { - "frame": {"x":256,"y":372,"w":44,"h":44}, + "frame": {"x":356,"y":411,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -258,7 +258,7 @@ }, "sprites/belt/built/right_4.png": { - "frame": {"x":306,"y":391,"w":44,"h":44}, + "frame": {"x":406,"y":411,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -266,7 +266,7 @@ }, "sprites/belt/built/right_5.png": { - "frame": {"x":356,"y":411,"w":44,"h":44}, + "frame": {"x":456,"y":414,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -274,7 +274,7 @@ }, "sprites/belt/built/right_6.png": { - "frame": {"x":406,"y":411,"w":44,"h":44}, + "frame": {"x":506,"y":432,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -282,7 +282,7 @@ }, "sprites/belt/built/right_7.png": { - "frame": {"x":456,"y":414,"w":44,"h":44}, + "frame": {"x":556,"y":475,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -290,7 +290,7 @@ }, "sprites/belt/built/right_8.png": { - "frame": {"x":506,"y":432,"w":44,"h":44}, + "frame": {"x":606,"y":475,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -298,7 +298,7 @@ }, "sprites/belt/built/right_9.png": { - "frame": {"x":556,"y":475,"w":44,"h":44}, + "frame": {"x":656,"y":476,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -306,7 +306,7 @@ }, "sprites/belt/built/right_10.png": { - "frame": {"x":6,"y":359,"w":44,"h":44}, + "frame": {"x":106,"y":359,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -314,7 +314,7 @@ }, "sprites/belt/built/right_11.png": { - "frame": {"x":56,"y":359,"w":44,"h":44}, + "frame": {"x":156,"y":372,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -322,7 +322,7 @@ }, "sprites/belt/built/right_12.png": { - "frame": {"x":106,"y":359,"w":44,"h":44}, + "frame": {"x":206,"y":372,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -330,7 +330,7 @@ }, "sprites/belt/built/right_13.png": { - "frame": {"x":156,"y":372,"w":44,"h":44}, + "frame": {"x":256,"y":372,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -386,7 +386,7 @@ }, "sprites/blueprints/belt_left.png": { - "frame": {"x":606,"y":475,"w":44,"h":44}, + "frame": {"x":706,"y":520,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -394,7 +394,7 @@ }, "sprites/blueprints/belt_right.png": { - "frame": {"x":656,"y":476,"w":44,"h":44}, + "frame": {"x":756,"y":520,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -402,7 +402,7 @@ }, "sprites/blueprints/belt_top.png": { - "frame": {"x":552,"y":525,"w":40,"h":48}, + "frame": {"x":598,"y":525,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -442,7 +442,7 @@ }, "sprites/blueprints/display.png": { - "frame": {"x":837,"y":470,"w":44,"h":46}, + "frame": {"x":888,"y":493,"w":44,"h":46}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":2,"y":2,"w":44,"h":46}, @@ -456,6 +456,14 @@ "spriteSourceSize": {"x":4,"y":0,"w":91,"h":48}, "sourceSize": {"w":96,"h":48} }, +"sprites/blueprints/item_producer.png": +{ + "frame": {"x":771,"y":416,"w":45,"h":48}, + "rotated": false, + "trimmed": true, + "spriteSourceSize": {"x":2,"y":0,"w":45,"h":48}, + "sourceSize": {"w":48,"h":48} +}, "sprites/blueprints/lever.png": { "frame": {"x":864,"y":222,"w":35,"h":41}, @@ -466,7 +474,7 @@ }, "sprites/blueprints/logic_gate-not.png": { - "frame": {"x":755,"y":520,"w":42,"h":48}, + "frame": {"x":855,"y":545,"w":42,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":0,"w":42,"h":48}, @@ -602,7 +610,7 @@ }, "sprites/blueprints/transistor-mirrored.png": { - "frame": {"x":979,"y":559,"w":34,"h":48}, + "frame": {"x":466,"y":464,"w":34,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":0,"w":34,"h":48}, @@ -674,7 +682,7 @@ }, "sprites/blueprints/virtual_processor-stacker.png": { - "frame": {"x":771,"y":416,"w":44,"h":48}, + "frame": {"x":895,"y":439,"w":44,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":44,"h":48}, @@ -754,7 +762,7 @@ }, "sprites/buildings/belt_left.png": { - "frame": {"x":887,"y":493,"w":44,"h":44}, + "frame": {"x":395,"y":311,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":4,"w":44,"h":44}, @@ -762,7 +770,7 @@ }, "sprites/buildings/belt_right.png": { - "frame": {"x":692,"y":426,"w":44,"h":44}, + "frame": {"x":6,"y":359,"w":44,"h":44}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":4,"w":44,"h":44}, @@ -770,7 +778,7 @@ }, "sprites/buildings/belt_top.png": { - "frame": {"x":803,"y":522,"w":40,"h":48}, + "frame": {"x":903,"y":557,"w":40,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":40,"h":48}, @@ -810,7 +818,7 @@ }, "sprites/buildings/display.png": { - "frame": {"x":944,"y":451,"w":44,"h":46}, + "frame": {"x":938,"y":505,"w":44,"h":46}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":2,"y":2,"w":44,"h":46}, @@ -832,9 +840,17 @@ "spriteSourceSize": {"x":4,"y":4,"w":184,"h":185}, "sourceSize": {"w":192,"h":192} }, +"sprites/buildings/item_producer.png": +{ + "frame": {"x":844,"y":416,"w":45,"h":48}, + "rotated": false, + "trimmed": true, + "spriteSourceSize": {"x":2,"y":0,"w":45,"h":48}, + "sourceSize": {"w":48,"h":48} +}, "sprites/buildings/lever.png": { - "frame": {"x":598,"y":525,"w":34,"h":40}, + "frame": {"x":684,"y":570,"w":34,"h":40}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":7,"y":2,"w":34,"h":40}, @@ -842,7 +858,7 @@ }, "sprites/buildings/logic_gate-not.png": { - "frame": {"x":706,"y":520,"w":43,"h":48}, + "frame": {"x":806,"y":524,"w":43,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":0,"w":43,"h":48}, @@ -978,7 +994,7 @@ }, "sprites/buildings/transistor-mirrored.png": { - "frame": {"x":466,"y":464,"w":34,"h":48}, + "frame": {"x":644,"y":526,"w":34,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":14,"y":0,"w":34,"h":48}, @@ -1034,7 +1050,7 @@ }, "sprites/buildings/virtual_processor-painter.png": { - "frame": {"x":844,"y":416,"w":44,"h":48}, + "frame": {"x":838,"y":470,"w":44,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":44,"h":48}, @@ -1050,7 +1066,7 @@ }, "sprites/buildings/virtual_processor-stacker.png": { - "frame": {"x":894,"y":439,"w":44,"h":48}, + "frame": {"x":945,"y":451,"w":44,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":4,"y":0,"w":44,"h":48}, @@ -1202,7 +1218,7 @@ }, "sprites/misc/slot_good_arrow.png": { - "frame": {"x":821,"y":428,"w":13,"h":13}, + "frame": {"x":822,"y":428,"w":13,"h":13}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":13,"h":13}, @@ -1226,7 +1242,7 @@ }, "sprites/wires/boolean_false.png": { - "frame": {"x":821,"y":447,"w":12,"h":15}, + "frame": {"x":822,"y":447,"w":12,"h":15}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":2,"y":1,"w":12,"h":15}, @@ -1338,7 +1354,7 @@ }, "sprites/wires/overlay_tile.png": { - "frame": {"x":849,"y":522,"w":32,"h":32}, + "frame": {"x":949,"y":557,"w":32,"h":32}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32}, @@ -1354,7 +1370,7 @@ }, "sprites/wires/sets/conflict_forward.png": { - "frame": {"x":821,"y":468,"w":10,"h":48}, + "frame": {"x":822,"y":468,"w":10,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":19,"y":0,"w":10,"h":48}, @@ -1386,7 +1402,7 @@ }, "sprites/wires/sets/first_forward.png": { - "frame": {"x":994,"y":451,"w":10,"h":48}, + "frame": {"x":995,"y":451,"w":10,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":19,"y":0,"w":10,"h":48}, @@ -1418,7 +1434,7 @@ }, "sprites/wires/sets/second_forward.png": { - "frame": {"x":987,"y":505,"w":10,"h":48}, + "frame": {"x":988,"y":505,"w":10,"h":48}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":19,"y":0,"w":10,"h":48}, @@ -1455,6 +1471,6 @@ "format": "RGBA8888", "size": {"w":1024,"h":1024}, "scale": "0.25", - "smartupdate": "$TexturePacker:SmartUpdate:19330d11a27d320d8e46be8f211ea26a:6c32332cb8456652726098bfd11407a1:908b89f5ca8ff73e331a35a3b14d0604$" + "smartupdate": "$TexturePacker:SmartUpdate:a1c027d325ef1c92a9318164b1241662:a9c9c3627ec9506697a7e24a7a287d67:908b89f5ca8ff73e331a35a3b14d0604$" } } diff --git a/res_built/atlas/atlas0_lq.png b/res_built/atlas/atlas0_lq.png index f8fd9433..b70c3887 100644 Binary files a/res_built/atlas/atlas0_lq.png and b/res_built/atlas/atlas0_lq.png differ diff --git a/res_built/atlas/atlas0_mq.json b/res_built/atlas/atlas0_mq.json index 6d25101c..b3e4d061 100644 --- a/res_built/atlas/atlas0_mq.json +++ b/res_built/atlas/atlas0_mq.json @@ -10,7 +10,7 @@ }, "sprites/belt/built/forward_1.png": { - "frame": {"x":936,"y":1756,"w":78,"h":96}, + "frame": {"x":568,"y":924,"w":78,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":78,"h":96}, @@ -18,7 +18,7 @@ }, "sprites/belt/built/forward_2.png": { - "frame": {"x":174,"y":1858,"w":78,"h":96}, + "frame": {"x":342,"y":1897,"w":78,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":78,"h":96}, @@ -26,7 +26,7 @@ }, "sprites/belt/built/forward_3.png": { - "frame": {"x":174,"y":1744,"w":78,"h":96}, + "frame": {"x":864,"y":1536,"w":78,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":78,"h":96}, @@ -34,7 +34,7 @@ }, "sprites/belt/built/forward_4.png": { - "frame": {"x":348,"y":1690,"w":78,"h":96}, + "frame": {"x":766,"y":1576,"w":78,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":78,"h":96}, @@ -42,7 +42,7 @@ }, "sprites/belt/built/forward_5.png": { - "frame": {"x":258,"y":1747,"w":78,"h":96}, + "frame": {"x":666,"y":1656,"w":78,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":78,"h":96}, @@ -50,7 +50,7 @@ }, "sprites/belt/built/forward_6.png": { - "frame": {"x":432,"y":1700,"w":78,"h":96}, + "frame": {"x":568,"y":1723,"w":78,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":78,"h":96}, @@ -58,7 +58,7 @@ }, "sprites/belt/built/forward_7.png": { - "frame": {"x":342,"y":1792,"w":78,"h":96}, + "frame": {"x":471,"y":1795,"w":78,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":78,"h":96}, @@ -66,7 +66,7 @@ }, "sprites/belt/built/forward_8.png": { - "frame": {"x":258,"y":1849,"w":78,"h":96}, + "frame": {"x":426,"y":1897,"w":78,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":78,"h":96}, @@ -74,7 +74,7 @@ }, "sprites/belt/built/forward_9.png": { - "frame": {"x":342,"y":1894,"w":78,"h":96}, + "frame": {"x":510,"y":1897,"w":78,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":78,"h":96}, @@ -82,7 +82,7 @@ }, "sprites/belt/built/forward_10.png": { - "frame": {"x":6,"y":1858,"w":78,"h":96}, + "frame": {"x":6,"y":1940,"w":78,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":78,"h":96}, @@ -90,7 +90,7 @@ }, "sprites/belt/built/forward_11.png": { - "frame": {"x":6,"y":1744,"w":78,"h":96}, + "frame": {"x":90,"y":1940,"w":78,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":78,"h":96}, @@ -98,7 +98,7 @@ }, "sprites/belt/built/forward_12.png": { - "frame": {"x":90,"y":1858,"w":78,"h":96}, + "frame": {"x":174,"y":1940,"w":78,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":78,"h":96}, @@ -106,7 +106,7 @@ }, "sprites/belt/built/forward_13.png": { - "frame": {"x":90,"y":1744,"w":78,"h":96}, + "frame": {"x":258,"y":1905,"w":78,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":78,"h":96}, @@ -114,7 +114,7 @@ }, "sprites/belt/built/left_0.png": { - "frame": {"x":203,"y":1372,"w":87,"h":87}, + "frame": {"x":103,"y":1466,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -122,7 +122,7 @@ }, "sprites/belt/built/left_1.png": { - "frame": {"x":104,"y":1415,"w":87,"h":87}, + "frame": {"x":6,"y":1487,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -130,7 +130,7 @@ }, "sprites/belt/built/left_2.png": { - "frame": {"x":575,"y":1465,"w":87,"h":87}, + "frame": {"x":99,"y":1559,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -138,7 +138,7 @@ }, "sprites/belt/built/left_3.png": { - "frame": {"x":668,"y":1490,"w":87,"h":87}, + "frame": {"x":6,"y":1580,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -146,7 +146,7 @@ }, "sprites/belt/built/left_4.png": { - "frame": {"x":761,"y":1569,"w":87,"h":87}, + "frame": {"x":585,"y":1444,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -154,7 +154,7 @@ }, "sprites/belt/built/left_5.png": { - "frame": {"x":854,"y":1570,"w":87,"h":87}, + "frame": {"x":487,"y":1516,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -162,7 +162,7 @@ }, "sprites/belt/built/left_6.png": { - "frame": {"x":197,"y":1465,"w":87,"h":87}, + "frame": {"x":387,"y":1538,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -170,7 +170,7 @@ }, "sprites/belt/built/left_7.png": { - "frame": {"x":99,"y":1508,"w":87,"h":87}, + "frame": {"x":289,"y":1618,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -178,7 +178,7 @@ }, "sprites/belt/built/left_8.png": { - "frame": {"x":6,"y":1553,"w":87,"h":87}, + "frame": {"x":192,"y":1626,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -186,7 +186,7 @@ }, "sprites/belt/built/left_9.png": { - "frame": {"x":290,"y":1465,"w":87,"h":87}, + "frame": {"x":99,"y":1652,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -194,7 +194,7 @@ }, "sprites/belt/built/left_10.png": { - "frame": {"x":6,"y":1460,"w":87,"h":87}, + "frame": {"x":492,"y":1423,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -202,7 +202,7 @@ }, "sprites/belt/built/left_11.png": { - "frame": {"x":296,"y":1372,"w":87,"h":87}, + "frame": {"x":394,"y":1445,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -210,7 +210,7 @@ }, "sprites/belt/built/left_12.png": { - "frame": {"x":389,"y":1411,"w":87,"h":87}, + "frame": {"x":294,"y":1525,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -218,7 +218,7 @@ }, "sprites/belt/built/left_13.png": { - "frame": {"x":482,"y":1421,"w":87,"h":87}, + "frame": {"x":196,"y":1533,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -226,7 +226,7 @@ }, "sprites/belt/built/right_0.png": { - "frame": {"x":383,"y":1504,"w":87,"h":87}, + "frame": {"x":6,"y":1673,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -234,7 +234,7 @@ }, "sprites/belt/built/right_1.png": { - "frame": {"x":476,"y":1514,"w":87,"h":87}, + "frame": {"x":678,"y":1470,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -242,7 +242,7 @@ }, "sprites/belt/built/right_2.png": { - "frame": {"x":192,"y":1558,"w":87,"h":87}, + "frame": {"x":192,"y":1719,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -250,7 +250,7 @@ }, "sprites/belt/built/right_3.png": { - "frame": {"x":99,"y":1601,"w":87,"h":87}, + "frame": {"x":99,"y":1745,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -258,7 +258,7 @@ }, "sprites/belt/built/right_4.png": { - "frame": {"x":6,"y":1646,"w":87,"h":87}, + "frame": {"x":6,"y":1766,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -266,7 +266,7 @@ }, "sprites/belt/built/right_5.png": { - "frame": {"x":285,"y":1558,"w":87,"h":87}, + "frame": {"x":771,"y":1483,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -274,7 +274,7 @@ }, "sprites/belt/built/right_6.png": { - "frame": {"x":378,"y":1597,"w":87,"h":87}, + "frame": {"x":673,"y":1563,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -282,7 +282,7 @@ }, "sprites/belt/built/right_7.png": { - "frame": {"x":471,"y":1607,"w":87,"h":87}, + "frame": {"x":573,"y":1630,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -290,7 +290,7 @@ }, "sprites/belt/built/right_8.png": { - "frame": {"x":564,"y":1651,"w":87,"h":87}, + "frame": {"x":475,"y":1702,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -298,7 +298,7 @@ }, "sprites/belt/built/right_9.png": { - "frame": {"x":657,"y":1676,"w":87,"h":87}, + "frame": {"x":378,"y":1724,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -306,7 +306,7 @@ }, "sprites/belt/built/right_10.png": { - "frame": {"x":569,"y":1558,"w":87,"h":87}, + "frame": {"x":580,"y":1537,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -314,7 +314,7 @@ }, "sprites/belt/built/right_11.png": { - "frame": {"x":662,"y":1583,"w":87,"h":87}, + "frame": {"x":480,"y":1609,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -322,7 +322,7 @@ }, "sprites/belt/built/right_12.png": { - "frame": {"x":755,"y":1662,"w":87,"h":87}, + "frame": {"x":382,"y":1631,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -330,7 +330,7 @@ }, "sprites/belt/built/right_13.png": { - "frame": {"x":848,"y":1663,"w":87,"h":87}, + "frame": {"x":285,"y":1711,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -346,7 +346,7 @@ }, "sprites/blueprints/balancer-merger-inverse.png": { - "frame": {"x":791,"y":1193,"w":95,"h":93}, + "frame": {"x":794,"y":1206,"w":95,"h":93}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":1,"w":95,"h":93}, @@ -362,7 +362,7 @@ }, "sprites/blueprints/balancer-splitter-inverse.png": { - "frame": {"x":892,"y":1207,"w":95,"h":93}, + "frame": {"x":689,"y":1274,"w":95,"h":93}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":1,"w":95,"h":93}, @@ -370,7 +370,7 @@ }, "sprites/blueprints/balancer-splitter.png": { - "frame": {"x":454,"y":1216,"w":93,"h":93}, + "frame": {"x":451,"y":1244,"w":93,"h":93}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":1,"w":93,"h":93}, @@ -386,7 +386,7 @@ }, "sprites/blueprints/belt_left.png": { - "frame": {"x":750,"y":1755,"w":87,"h":87}, + "frame": {"x":285,"y":1804,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -394,7 +394,7 @@ }, "sprites/blueprints/belt_right.png": { - "frame": {"x":843,"y":1756,"w":87,"h":87}, + "frame": {"x":192,"y":1812,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -402,7 +402,7 @@ }, "sprites/blueprints/belt_top.png": { - "frame": {"x":516,"y":1744,"w":78,"h":96}, + "frame": {"x":850,"y":1638,"w":78,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":78,"h":96}, @@ -410,7 +410,7 @@ }, "sprites/blueprints/comparator.png": { - "frame": {"x":461,"y":924,"w":96,"h":89}, + "frame": {"x":461,"y":1023,"w":96,"h":89}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":0,"w":96,"h":89}, @@ -456,6 +456,14 @@ "spriteSourceSize": {"x":10,"y":0,"w":180,"h":96}, "sourceSize": {"w":192,"h":96} }, +"sprites/blueprints/item_producer.png": +{ + "frame": {"x":804,"y":799,"w":88,"h":95}, + "rotated": false, + "trimmed": true, + "spriteSourceSize": {"x":5,"y":0,"w":88,"h":95}, + "sourceSize": {"w":96,"h":96} +}, "sprites/blueprints/lever.png": { "frame": {"x":285,"y":876,"w":68,"h":78}, @@ -466,7 +474,7 @@ }, "sprites/blueprints/logic_gate-not.png": { - "frame": {"x":563,"y":924,"w":83,"h":96}, + "frame": {"x":563,"y":1026,"w":83,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":7,"y":0,"w":83,"h":96}, @@ -474,7 +482,7 @@ }, "sprites/blueprints/logic_gate-or.png": { - "frame": {"x":795,"y":1105,"w":96,"h":82}, + "frame": {"x":694,"y":1084,"w":96,"h":82}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":0,"w":96,"h":82}, @@ -490,7 +498,7 @@ }, "sprites/blueprints/logic_gate.png": { - "frame": {"x":461,"y":1019,"w":96,"h":89}, + "frame": {"x":357,"y":1024,"w":96,"h":89}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":0,"w":96,"h":89}, @@ -498,7 +506,7 @@ }, "sprites/blueprints/miner-chainable.png": { - "frame": {"x":243,"y":1270,"w":92,"h":96}, + "frame": {"x":886,"y":1434,"w":92,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":0,"w":92,"h":96}, @@ -506,7 +514,7 @@ }, "sprites/blueprints/miner.png": { - "frame": {"x":341,"y":1270,"w":92,"h":96}, + "frame": {"x":105,"y":1263,"w":92,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":0,"w":92,"h":96}, @@ -554,7 +562,7 @@ }, "sprites/blueprints/reader.png": { - "frame": {"x":796,"y":901,"w":95,"h":96}, + "frame": {"x":796,"y":1002,"w":95,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":0,"w":95,"h":96}, @@ -626,7 +634,7 @@ }, "sprites/blueprints/underground_belt_entry-tier2.png": { - "frame": {"x":6,"y":1290,"w":93,"h":84}, + "frame": {"x":180,"y":1173,"w":93,"h":84}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":2,"y":12,"w":93,"h":84}, @@ -634,7 +642,7 @@ }, "sprites/blueprints/underground_belt_entry.png": { - "frame": {"x":883,"y":1306,"w":93,"h":75}, + "frame": {"x":890,"y":1353,"w":93,"h":75}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":2,"y":21,"w":93,"h":75}, @@ -642,7 +650,7 @@ }, "sprites/blueprints/underground_belt_exit-tier2.png": { - "frame": {"x":320,"y":1189,"w":94,"h":75}, + "frame": {"x":351,"y":1182,"w":94,"h":75}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":2,"y":0,"w":94,"h":75}, @@ -650,7 +658,7 @@ }, "sprites/blueprints/underground_belt_exit.png": { - "frame": {"x":883,"y":1387,"w":93,"h":75}, + "frame": {"x":787,"y":1402,"w":93,"h":75}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":2,"y":0,"w":93,"h":75}, @@ -658,7 +666,7 @@ }, "sprites/blueprints/virtual_processor-painter.png": { - "frame": {"x":804,"y":799,"w":87,"h":96}, + "frame": {"x":804,"y":900,"w":87,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":87,"h":96}, @@ -666,7 +674,7 @@ }, "sprites/blueprints/virtual_processor-rotater.png": { - "frame": {"x":897,"y":950,"w":96,"h":94}, + "frame": {"x":466,"y":923,"w":96,"h":94}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":2,"w":96,"h":94}, @@ -674,7 +682,7 @@ }, "sprites/blueprints/virtual_processor-stacker.png": { - "frame": {"x":555,"y":1128,"w":87,"h":96}, + "frame": {"x":557,"y":1224,"w":87,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":87,"h":96}, @@ -698,7 +706,7 @@ }, "sprites/blueprints/wire_tunnel.png": { - "frame": {"x":685,"y":1288,"w":93,"h":91}, + "frame": {"x":550,"y":1326,"w":93,"h":91}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":2,"y":2,"w":93,"h":91}, @@ -706,7 +714,7 @@ }, "sprites/buildings/analyzer.png": { - "frame": {"x":897,"y":848,"w":96,"h":96}, + "frame": {"x":898,"y":848,"w":96,"h":96}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96}, @@ -714,7 +722,7 @@ }, "sprites/buildings/balancer-merger-inverse.png": { - "frame": {"x":6,"y":1193,"w":94,"h":91}, + "frame": {"x":790,"y":1305,"w":94,"h":91}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":2,"w":94,"h":91}, @@ -722,7 +730,7 @@ }, "sprites/buildings/balancer-merger.png": { - "frame": {"x":784,"y":1292,"w":93,"h":91}, + "frame": {"x":688,"y":1373,"w":93,"h":91}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":2,"w":93,"h":91}, @@ -730,7 +738,7 @@ }, "sprites/buildings/balancer-splitter-inverse.png": { - "frame": {"x":180,"y":1141,"w":95,"h":91}, + "frame": {"x":895,"y":1256,"w":95,"h":91}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":2,"w":95,"h":91}, @@ -738,7 +746,7 @@ }, "sprites/buildings/balancer-splitter.png": { - "frame": {"x":144,"y":1238,"w":93,"h":91}, + "frame": {"x":6,"y":1193,"w":93,"h":91}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":2,"w":93,"h":91}, @@ -754,7 +762,7 @@ }, "sprites/buildings/belt_left.png": { - "frame": {"x":203,"y":1372,"w":87,"h":87}, + "frame": {"x":103,"y":1466,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":9,"w":87,"h":87}, @@ -762,7 +770,7 @@ }, "sprites/buildings/belt_right.png": { - "frame": {"x":383,"y":1504,"w":87,"h":87}, + "frame": {"x":6,"y":1673,"w":87,"h":87}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":9,"w":87,"h":87}, @@ -778,7 +786,7 @@ }, "sprites/buildings/comparator.png": { - "frame": {"x":694,"y":1002,"w":96,"h":89}, + "frame": {"x":180,"y":1078,"w":96,"h":89}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":0,"w":96,"h":89}, @@ -810,7 +818,7 @@ }, "sprites/buildings/display.png": { - "frame": {"x":258,"y":1651,"w":84,"h":90}, + "frame": {"x":561,"y":1128,"w":84,"h":90}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":6,"y":6,"w":84,"h":90}, @@ -832,6 +840,14 @@ "spriteSourceSize": {"x":9,"y":10,"w":366,"h":367}, "sourceSize": {"w":384,"h":384} }, +"sprites/buildings/item_producer.png": +{ + "frame": {"x":201,"y":1432,"w":87,"h":95}, + "rotated": false, + "trimmed": true, + "spriteSourceSize": {"x":5,"y":0,"w":87,"h":95}, + "sourceSize": {"w":96,"h":96} +}, "sprites/buildings/lever.png": { "frame": {"x":108,"y":1074,"w":66,"h":77}, @@ -842,7 +858,7 @@ }, "sprites/buildings/logic_gate-not.png": { - "frame": {"x":563,"y":1026,"w":82,"h":96}, + "frame": {"x":99,"y":1838,"w":82,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":8,"y":0,"w":82,"h":96}, @@ -850,7 +866,7 @@ }, "sprites/buildings/logic_gate-or.png": { - "frame": {"x":693,"y":1097,"w":96,"h":83}, + "frame": {"x":694,"y":995,"w":96,"h":83}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":0,"w":96,"h":83}, @@ -858,7 +874,7 @@ }, "sprites/buildings/logic_gate-xor.png": { - "frame": {"x":694,"y":901,"w":96,"h":95}, + "frame": {"x":466,"y":822,"w":96,"h":95}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":0,"w":96,"h":95}, @@ -866,7 +882,7 @@ }, "sprites/buildings/logic_gate.png": { - "frame": {"x":897,"y":1050,"w":96,"h":88}, + "frame": {"x":694,"y":901,"w":96,"h":88}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":0,"w":96,"h":88}, @@ -874,7 +890,7 @@ }, "sprites/buildings/miner-chainable.png": { - "frame": {"x":733,"y":1389,"w":91,"h":95}, + "frame": {"x":104,"y":1365,"w":91,"h":95}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":0,"w":91,"h":95}, @@ -882,7 +898,7 @@ }, "sprites/buildings/miner.png": { - "frame": {"x":830,"y":1468,"w":91,"h":95}, + "frame": {"x":6,"y":1386,"w":91,"h":95}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":0,"w":91,"h":95}, @@ -930,7 +946,7 @@ }, "sprites/buildings/reader.png": { - "frame": {"x":796,"y":1003,"w":95,"h":96}, + "frame": {"x":897,"y":1052,"w":95,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":0,"w":95,"h":96}, @@ -938,7 +954,7 @@ }, "sprites/buildings/rotater-ccw.png": { - "frame": {"x":353,"y":1087,"w":95,"h":96}, + "frame": {"x":796,"y":1104,"w":95,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":0,"w":95,"h":96}, @@ -946,7 +962,7 @@ }, "sprites/buildings/rotater-rotate180.png": { - "frame": {"x":454,"y":1114,"w":95,"h":96}, + "frame": {"x":693,"y":1172,"w":95,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":0,"w":95,"h":96}, @@ -954,7 +970,7 @@ }, "sprites/buildings/rotater.png": { - "frame": {"x":690,"y":1186,"w":95,"h":96}, + "frame": {"x":897,"y":1154,"w":95,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":0,"w":95,"h":96}, @@ -994,7 +1010,7 @@ }, "sprites/buildings/trash.png": { - "frame": {"x":364,"y":822,"w":96,"h":96}, + "frame": {"x":897,"y":950,"w":96,"h":96}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96}, @@ -1002,7 +1018,7 @@ }, "sprites/buildings/underground_belt_entry-tier2.png": { - "frame": {"x":537,"y":1332,"w":92,"h":83}, + "frame": {"x":203,"y":1263,"w":92,"h":83}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":13,"w":92,"h":83}, @@ -1010,7 +1026,7 @@ }, "sprites/buildings/underground_belt_entry.png": { - "frame": {"x":105,"y":1335,"w":92,"h":74}, + "frame": {"x":301,"y":1263,"w":92,"h":74}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":22,"w":92,"h":74}, @@ -1018,7 +1034,7 @@ }, "sprites/buildings/underground_belt_exit-tier2.png": { - "frame": {"x":6,"y":1380,"w":92,"h":74}, + "frame": {"x":301,"y":1343,"w":92,"h":74}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":0,"w":92,"h":74}, @@ -1026,7 +1042,7 @@ }, "sprites/buildings/underground_belt_exit.png": { - "frame": {"x":635,"y":1385,"w":92,"h":74}, + "frame": {"x":203,"y":1352,"w":92,"h":74}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":0,"w":92,"h":74}, @@ -1034,7 +1050,7 @@ }, "sprites/buildings/virtual_processor-painter.png": { - "frame": {"x":553,"y":1230,"w":87,"h":96}, + "frame": {"x":399,"y":1343,"w":87,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":87,"h":96}, @@ -1050,7 +1066,7 @@ }, "sprites/buildings/virtual_processor-stacker.png": { - "frame": {"x":927,"y":1468,"w":87,"h":96}, + "frame": {"x":301,"y":1423,"w":87,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":9,"y":0,"w":87,"h":96}, @@ -1058,7 +1074,7 @@ }, "sprites/buildings/virtual_processor-unstacker.png": { - "frame": {"x":183,"y":876,"w":96,"h":96}, + "frame": {"x":364,"y":822,"w":96,"h":96}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96}, @@ -1074,7 +1090,7 @@ }, "sprites/buildings/wire_tunnel.png": { - "frame": {"x":439,"y":1315,"w":92,"h":90}, + "frame": {"x":6,"y":1290,"w":92,"h":90}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":3,"w":92,"h":90}, @@ -1114,7 +1130,7 @@ }, "sprites/colors/red.png": { - "frame": {"x":651,"y":1051,"w":36,"h":34}, + "frame": {"x":652,"y":1051,"w":36,"h":34}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":2,"w":36,"h":34}, @@ -1122,7 +1138,7 @@ }, "sprites/colors/uncolored.png": { - "frame": {"x":651,"y":1091,"w":36,"h":34}, + "frame": {"x":652,"y":1091,"w":36,"h":34}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":2,"w":36,"h":34}, @@ -1130,7 +1146,7 @@ }, "sprites/colors/white.png": { - "frame": {"x":648,"y":1131,"w":36,"h":34}, + "frame": {"x":651,"y":1131,"w":36,"h":34}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":2,"w":36,"h":34}, @@ -1138,7 +1154,7 @@ }, "sprites/colors/yellow.png": { - "frame": {"x":648,"y":1171,"w":36,"h":34}, + "frame": {"x":651,"y":1171,"w":36,"h":34}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":2,"w":36,"h":34}, @@ -1162,7 +1178,7 @@ }, "sprites/misc/hub_direction_indicator.png": { - "frame": {"x":646,"y":1328,"w":32,"h":32}, + "frame": {"x":649,"y":1406,"w":32,"h":32}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32}, @@ -1194,7 +1210,7 @@ }, "sprites/misc/slot_bad_arrow.png": { - "frame": {"x":993,"y":1239,"w":24,"h":24}, + "frame": {"x":321,"y":1202,"w":24,"h":24}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":1,"w":24,"h":24}, @@ -1202,7 +1218,7 @@ }, "sprites/misc/slot_good_arrow.png": { - "frame": {"x":993,"y":1207,"w":24,"h":26}, + "frame": {"x":321,"y":1170,"w":24,"h":26}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":1,"y":0,"w":24,"h":26}, @@ -1226,7 +1242,7 @@ }, "sprites/wires/boolean_false.png": { - "frame": {"x":993,"y":1269,"w":21,"h":28}, + "frame": {"x":996,"y":1256,"w":21,"h":28}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":6,"y":3,"w":21,"h":28}, @@ -1242,7 +1258,7 @@ }, "sprites/wires/display/blue.png": { - "frame": {"x":648,"y":1211,"w":33,"h":33}, + "frame": {"x":651,"y":1211,"w":33,"h":33}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":33,"h":33}, @@ -1250,7 +1266,7 @@ }, "sprites/wires/display/cyan.png": { - "frame": {"x":282,"y":1132,"w":33,"h":33}, + "frame": {"x":650,"y":1250,"w":33,"h":33}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":33,"h":33}, @@ -1258,7 +1274,7 @@ }, "sprites/wires/display/green.png": { - "frame": {"x":281,"y":1171,"w":33,"h":33}, + "frame": {"x":650,"y":1289,"w":33,"h":33}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":33,"h":33}, @@ -1266,7 +1282,7 @@ }, "sprites/wires/display/purple.png": { - "frame": {"x":108,"y":1157,"w":33,"h":33}, + "frame": {"x":282,"y":1132,"w":33,"h":33}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":33,"h":33}, @@ -1274,7 +1290,7 @@ }, "sprites/wires/display/red.png": { - "frame": {"x":281,"y":1210,"w":33,"h":33}, + "frame": {"x":282,"y":1171,"w":33,"h":33}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":33,"h":33}, @@ -1282,7 +1298,7 @@ }, "sprites/wires/display/white.png": { - "frame": {"x":646,"y":1250,"w":33,"h":33}, + "frame": {"x":649,"y":1328,"w":33,"h":33}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":33,"h":33}, @@ -1290,7 +1306,7 @@ }, "sprites/wires/display/yellow.png": { - "frame": {"x":646,"y":1289,"w":33,"h":33}, + "frame": {"x":649,"y":1367,"w":33,"h":33}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":33,"h":33}, @@ -1322,7 +1338,7 @@ }, "sprites/wires/network_conflict.png": { - "frame": {"x":106,"y":1234,"w":32,"h":30}, + "frame": {"x":279,"y":1210,"w":32,"h":30}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":1,"w":32,"h":30}, @@ -1330,7 +1346,7 @@ }, "sprites/wires/network_empty.png": { - "frame": {"x":420,"y":1189,"w":28,"h":32}, + "frame": {"x":146,"y":1157,"w":28,"h":32}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":3,"y":0,"w":28,"h":32}, @@ -1346,7 +1362,7 @@ }, "sprites/wires/sets/conflict_cross.png": { - "frame": {"x":6,"y":889,"w":96,"h":96}, + "frame": {"x":183,"y":876,"w":96,"h":96}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96}, @@ -1354,7 +1370,7 @@ }, "sprites/wires/sets/conflict_forward.png": { - "frame": {"x":999,"y":848,"w":18,"h":96}, + "frame": {"x":1000,"y":848,"w":18,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":39,"y":0,"w":18,"h":96}, @@ -1362,7 +1378,7 @@ }, "sprites/wires/sets/conflict_split.png": { - "frame": {"x":897,"y":1144,"w":96,"h":57}, + "frame": {"x":459,"y":1118,"w":96,"h":57}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":39,"w":96,"h":57}, @@ -1378,7 +1394,7 @@ }, "sprites/wires/sets/first_cross.png": { - "frame": {"x":6,"y":991,"w":96,"h":96}, + "frame": {"x":6,"y":889,"w":96,"h":96}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96}, @@ -1394,7 +1410,7 @@ }, "sprites/wires/sets/first_split.png": { - "frame": {"x":357,"y":1024,"w":96,"h":57}, + "frame": {"x":353,"y":1119,"w":96,"h":57}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":39,"w":96,"h":57}, @@ -1410,7 +1426,7 @@ }, "sprites/wires/sets/second_cross.png": { - "frame": {"x":466,"y":822,"w":96,"h":96}, + "frame": {"x":6,"y":991,"w":96,"h":96}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96}, @@ -1418,7 +1434,7 @@ }, "sprites/wires/sets/second_forward.png": { - "frame": {"x":999,"y":1052,"w":18,"h":96}, + "frame": {"x":998,"y":1052,"w":18,"h":96}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":39,"y":0,"w":18,"h":96}, @@ -1426,7 +1442,7 @@ }, "sprites/wires/sets/second_split.png": { - "frame": {"x":180,"y":1078,"w":96,"h":57}, + "frame": {"x":455,"y":1181,"w":96,"h":57}, "rotated": false, "trimmed": true, "spriteSourceSize": {"x":0,"y":39,"w":96,"h":57}, @@ -1442,7 +1458,7 @@ }, "sprites/wires/wires_preview.png": { - "frame": {"x":106,"y":1196,"w":32,"h":32}, + "frame": {"x":108,"y":1157,"w":32,"h":32}, "rotated": false, "trimmed": false, "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32}, @@ -1455,6 +1471,6 @@ "format": "RGBA8888", "size": {"w":1024,"h":2048}, "scale": "0.5", - "smartupdate": "$TexturePacker:SmartUpdate:19330d11a27d320d8e46be8f211ea26a:6c32332cb8456652726098bfd11407a1:908b89f5ca8ff73e331a35a3b14d0604$" + "smartupdate": "$TexturePacker:SmartUpdate:a1c027d325ef1c92a9318164b1241662:a9c9c3627ec9506697a7e24a7a287d67:908b89f5ca8ff73e331a35a3b14d0604$" } } diff --git a/res_built/atlas/atlas0_mq.png b/res_built/atlas/atlas0_mq.png index 21819e85..2d2a5ae9 100644 Binary files a/res_built/atlas/atlas0_mq.png and b/res_built/atlas/atlas0_mq.png differ diff --git a/res_raw/sprites/blueprints/item_producer.png b/res_raw/sprites/blueprints/item_producer.png new file mode 100644 index 00000000..2288c07d Binary files /dev/null and b/res_raw/sprites/blueprints/item_producer.png differ diff --git a/res_raw/sprites/buildings/item_producer.png b/res_raw/sprites/buildings/item_producer.png new file mode 100644 index 00000000..573ef372 Binary files /dev/null and b/res_raw/sprites/buildings/item_producer.png differ diff --git a/src/css/ingame_hud/blueprint_placer.scss b/src/css/ingame_hud/blueprint_placer.scss index e1cf06ef..36d1cdad 100644 --- a/src/css/ingame_hud/blueprint_placer.scss +++ b/src/css/ingame_hud/blueprint_placer.scss @@ -1,39 +1,40 @@ -#ingame_HUD_BlueprintPlacer { - position: absolute; - @include S(top, 50px); - left: 50%; - transform: translateX(-50%); - color: #333; - z-index: 9999; - background: $ingameHudBg; - @include S(padding, 5px); - display: flex; - flex-direction: column; - color: #fff; - @include S(width, 120px); - align-items: center; - justify-content: center; - - .label { - @include PlainText; - text-transform: uppercase; - } - .costContainer { - display: flex; - align-items: center; - @include Heading; - - > canvas { - @include S(margin-left, 5px); - @include S(width, 30px); - @include S(height, 30px); - } - } - - &:not(.canAfford) { - background: rgba(98, 27, 41, 0.8); - // .costContainer { - color: rgb(255, 97, 128); - // } - } -} +#ingame_HUD_BlueprintPlacer { + position: absolute; + @include S(top, 70px); + left: 50%; + transform: translateX(-50%); + color: #333; + z-index: 9999; + background: $ingameHudBg; + @include S(padding, 5px); + display: flex; + flex-direction: column; + color: #fff; + @include S(width, 120px); + align-items: center; + justify-content: center; + @include S(border-radius, $globalBorderRadius); + + .label { + @include PlainText; + text-transform: uppercase; + } + .costContainer { + display: flex; + align-items: center; + @include Heading; + + > canvas { + @include S(margin-left, 5px); + @include S(width, 30px); + @include S(height, 30px); + } + } + + &:not(.canAfford) { + background: rgba(98, 27, 41, 0.8); + // .costContainer { + color: rgb(255, 97, 128); + // } + } +} diff --git a/src/css/ingame_hud/dialogs.scss b/src/css/ingame_hud/dialogs.scss index dcedcfae..ad3f76d0 100644 --- a/src/css/ingame_hud/dialogs.scss +++ b/src/css/ingame_hud/dialogs.scss @@ -180,11 +180,13 @@ } .ingameItemChooser { - @include S(margin, 20px, 0); + @include S(margin, 10px, 0); display: grid; - grid-auto-flow: column; - grid-auto-columns: 1fr; @include S(grid-column-gap, 3px); + @include S(grid-row-gap, 5px); + grid-template-columns: repeat(10, 1fr); + align-items: center; + justify-items: center; canvas { pointer-events: all; diff --git a/src/css/ingame_hud/standalone_advantages.scss b/src/css/ingame_hud/standalone_advantages.scss new file mode 100644 index 00000000..02c0f5e2 --- /dev/null +++ b/src/css/ingame_hud/standalone_advantages.scss @@ -0,0 +1,171 @@ +#ingame_HUD_StandaloneAdvantages { + .content { + @include S(width, 440px); + @include S(min-height, 300px); + } + p { + @include PlainText; + } + + .points { + display: grid; + grid-template-columns: 1fr 1fr; + @include S(grid-column-gap, 10px); + @include S(grid-row-gap, 20px); + @include S(margin, 10px, 0, 20px); + grid-template-rows: #{D(40px)}; + align-items: center; + } + .lowerBar { + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + overflow: hidden; + + > button { + transition: opacity 0.12s ease-in-out; + &:hover { + opacity: 0.85; + } + } + + .otherCloseButton { + @include SuperSmallText; + @include S(margin-right, 30px); + color: #aaa; + @include S(margin, 0); + @include IncreasedClickArea(0px); + @include S(margin-top, 15px); + + @include InlineAnimation(5s ease-in-out) { + 0% { + opacity: 0.05; + } + 50% { + opacity: 0.05; + } + 100% { + opacity: 1; + } + } + } + + .steamLinkButton { + @include IncreasedClickArea(5px); + @include S(margin, 0); + @include S(width, 180px); + @include S(height, 40px); + & { + /* @load-async */ + background: #171a23 uiResource("get_on_steam.png") center center / contain no-repeat; + } + + @include S(border-radius, $globalBorderRadius); + } + } + + .point { + display: grid; + grid-template-columns: #{D(55px)} auto; + grid-template-rows: 1fr 1fr; + + > strong { + grid-column: 2 / 3; + grid-row: 1 / 2; + @include PlainText; + text-transform: uppercase; + font-weight: bold; + } + + > p { + grid-column: 2 / 3; + grid-row: 2 / 3; + @include SuperSmallText; + opacity: 0.8; + } + + background: transparent #{D(10px)} center / #{D(30px)} no-repeat; + + &.levels { + & { + /* @load-async */ + background-image: uiResource("res/ui/icons/advantage_new_levels.png"); + } + > strong { + color: #f13555; + } + } + + &.upgrades { + & { + /* @load-async */ + background-image: uiResource("res/ui/icons/advantage_upgrades.png"); + } + > strong { + color: #8a00ff; + } + } + + &.buildings { + & { + /* @load-async */ + background-image: uiResource("res/ui/icons/advantage_buildings.png"); + } + > strong { + color: #3fce8b; + } + } + + &.wires { + & { + /* @load-async */ + background-image: uiResource("res/ui/icons/advantage_wires.png"); + } + > strong { + color: #ef2fdb; + } + } + + &.markers { + & { + /* @load-async */ + background-image: uiResource("res/ui/icons/advantage_markers.png"); + } + > strong { + color: #4294ff; + } + } + + &.savegames { + & { + /* @load-async */ + background-image: uiResource("res/ui/icons/advantage_savegames.png"); + } + > strong { + color: #ff9500; + } + } + + &.darkmode { + & { + /* @load-async */ + background-image: uiResource("res/ui/icons/advantage_dark_mode.png"); + } + > strong { + color: #292c32; + } + } + + &.support { + & { + /* @load-async */ + background-image: uiResource("res/ui/icons/advantage_support.png"); + } + > strong { + color: #e72d2d; + } + } + } +} diff --git a/src/css/ingame_hud/watermark.scss b/src/css/ingame_hud/watermark.scss index 78a56462..76ec224c 100644 --- a/src/css/ingame_hud/watermark.scss +++ b/src/css/ingame_hud/watermark.scss @@ -1,22 +1,85 @@ #ingame_HUD_Watermark { position: absolute; - & { - /* @load-async */ - background: uiResource("get_on_steam.png") center center / contain no-repeat; - } - @include S(width, 110px); - @include S(height, 40px); - @include S(top, 10px); + @include S(border-radius, $globalBorderRadius); + @include S(top, 70px); pointer-events: all; cursor: pointer; - @include S(left, 160px); + left: 50%; + text-align: center; + + background: rgba(207, 65, 65, 0.8); + color: #fff; + transform: translateX(-50%); + @include PlainText; + @include S(padding, 10px); - transition: all 0.12s ease-in; - transition-property: opacity, transform; - transform: skewX(-0.5deg); &:hover { - transform: skewX(-1deg) scale(1.02); - opacity: 0.9; + transform: translateX(-50%) scale(1.02) !important; + } + + > strong { + @include PlainText; + text-transform: uppercase; + } + > p { + @include SuperSmallText; + opacity: 0.7; + } + + opacity: 0; + + &.visible { + @include InlineAnimation(0.5s ease-in-out) { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } + } + opacity: 1; + } + + &:not(.visible) { + @include InlineAnimation(0.5s ease-in-out) { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } + } + } +} + +#ingame_HUD_WatermarkClicker { + @include S(top, 55px); + position: absolute; + left: 50%; + transform: translateX(-50%) !important; + @include SuperSmallText; + color: $colorBlueBright; + text-transform: uppercase; + pointer-events: all; + cursor: pointer; + display: flex; + align-items: center; + + &:hover { + opacity: 0.9; + } + + &::after { + @include S(margin-left, 4px); + content: ""; + @include S(width, 10px); + @include S(height, 10px); + display: inline-flex; + background: center center / contain no-repeat; + & { + /* @load-async */ + background-image: uiResource("res/ui/icons/demo_steam_link_indicator.png"); + } } } diff --git a/src/css/main.scss b/src/css/main.scss index a045beef..9e26fa95 100644 --- a/src/css/main.scss +++ b/src/css/main.scss @@ -52,6 +52,7 @@ @import "ingame_hud/color_blind_helper"; @import "ingame_hud/shape_viewer"; @import "ingame_hud/sandbox_controller"; +@import "ingame_hud/standalone_advantages"; // prettier-ignore $elements: @@ -77,6 +78,7 @@ ingame_HUD_buildings_toolbar, ingame_HUD_wires_toolbar, ingame_HUD_BlueprintPlacer, ingame_HUD_Waypoints_Hint, +ingame_HUD_WatermarkClicker, ingame_HUD_Watermark, ingame_HUD_ColorBlindBelowTileHelper, ingame_HUD_SandboxController, @@ -88,6 +90,7 @@ ingame_HUD_BetaOverlay, ingame_HUD_Shop, ingame_HUD_Statistics, ingame_HUD_ShapeViewer, +ingame_HUD_StandaloneAdvantages, ingame_HUD_UnlockNotification, ingame_HUD_SettingsMenu, ingame_HUD_ModalDialogs; diff --git a/src/css/resources.scss b/src/css/resources.scss index f6d576b0..15f94d04 100644 --- a/src/css/resources.scss +++ b/src/css/resources.scss @@ -1,6 +1,6 @@ $buildings: belt, cutter, miner, mixer, painter, rotater, balancer, stacker, trash, underground_belt, wire, constant_signal, logic_gate, lever, filter, wire_tunnel, display, virtual_processor, reader, storage, - transistor, analyzer, comparator; + transistor, analyzer, comparator, item_producer; @each $building in $buildings { [data-icon="building_icons/#{$building}.png"] { @@ -12,7 +12,7 @@ $buildings: belt, cutter, miner, mixer, painter, rotater, balancer, stacker, tra $buildingsAndVariants: belt, balancer, underground_belt, underground_belt-tier2, miner, miner-chainable, cutter, cutter-quad, rotater, rotater-ccw, stacker, mixer, painter-double, painter-quad, trash, storage, reader, rotater-rotate180, display, constant_signal, wire, wire_tunnel, logic_gate-or, logic_gate-not, - logic_gate-xor, analyzer, virtual_processor-rotater, virtual_processor-unstacker, + logic_gate-xor, analyzer, virtual_processor-rotater, virtual_processor-unstacker, item_producer, virtual_processor-stacker, virtual_processor-painter, wire-second, painter, painter-mirrored, comparator; @each $building in $buildingsAndVariants { [data-icon="building_tutorials/#{$building}.png"] { diff --git a/src/js/game/buildings/filter.js b/src/js/game/buildings/filter.js index b537fcb5..2d81ce83 100644 --- a/src/js/game/buildings/filter.js +++ b/src/js/game/buildings/filter.js @@ -23,7 +23,7 @@ export class MetaFilterBuilding extends MetaBuilding { * @param {GameRoot} root */ getIsUnlocked(root) { - return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_filters_and_levers); + return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_filter); } getDimensions() { diff --git a/src/js/game/buildings/item_producer.js b/src/js/game/buildings/item_producer.js new file mode 100644 index 00000000..477ed603 --- /dev/null +++ b/src/js/game/buildings/item_producer.js @@ -0,0 +1,44 @@ +import { enumDirection, Vector } from "../../core/vector"; +import { ItemEjectorComponent } from "../components/item_ejector"; +import { ItemProducerComponent } from "../components/item_producer"; +import { enumPinSlotType, WiredPinsComponent } from "../components/wired_pins"; +import { Entity } from "../entity"; +import { MetaBuilding } from "../meta_building"; + +export class MetaItemProducerBuilding extends MetaBuilding { + constructor() { + super("item_producer"); + } + + getSilhouetteColor() { + return "#b37dcd"; + } + + getShowWiresLayerPreview() { + return true; + } + + /** + * Creates the entity at the given location + * @param {Entity} entity + */ + setupEntityComponents(entity) { + entity.addComponent( + new ItemEjectorComponent({ + slots: [{ pos: new Vector(0, 0), direction: enumDirection.top }], + }) + ); + entity.addComponent( + new WiredPinsComponent({ + slots: [ + { + pos: new Vector(0, 0), + type: enumPinSlotType.logicalAcceptor, + direction: enumDirection.bottom, + }, + ], + }) + ); + entity.addComponent(new ItemProducerComponent()); + } +} diff --git a/src/js/game/buildings/lever.js b/src/js/game/buildings/lever.js index d5f4b801..7ddaf65f 100644 --- a/src/js/game/buildings/lever.js +++ b/src/js/game/buildings/lever.js @@ -20,7 +20,7 @@ export class MetaLeverBuilding extends MetaBuilding { * @param {GameRoot} root */ getIsUnlocked(root) { - return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_filters_and_levers); + return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_painter_and_levers); } getDimensions() { diff --git a/src/js/game/buildings/painter.js b/src/js/game/buildings/painter.js index b74d24b9..6e941403 100644 --- a/src/js/game/buildings/painter.js +++ b/src/js/game/buildings/painter.js @@ -71,7 +71,7 @@ export class MetaPainterBuilding extends MetaBuilding { if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_painter_double)) { variants.push(enumPainterVariants.double); } - if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_painter_quad)) { + if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_painter_and_levers)) { variants.push(enumPainterVariants.quad); } return variants; diff --git a/src/js/game/buildings/virtual_processor.js b/src/js/game/buildings/virtual_processor.js index 1d9f1135..79d65b22 100644 --- a/src/js/game/buildings/virtual_processor.js +++ b/src/js/game/buildings/virtual_processor.js @@ -4,6 +4,7 @@ import { WiredPinsComponent, enumPinSlotType } from "../components/wired_pins"; import { Entity } from "../entity"; import { defaultBuildingVariant, MetaBuilding } from "../meta_building"; import { GameRoot } from "../root"; +import { enumHubGoalRewards } from "../tutorial_goals"; import { MetaCutterBuilding } from "./cutter"; import { MetaPainterBuilding } from "./painter"; import { MetaRotaterBuilding } from "./rotater"; @@ -47,8 +48,7 @@ export class MetaVirtualProcessorBuilding extends MetaBuilding { * @param {GameRoot} root */ getIsUnlocked(root) { - // @todo - return true; + return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_virtual_processing); } /** @returns {"wires"} **/ diff --git a/src/js/game/buildings/wire.js b/src/js/game/buildings/wire.js index ae5bab42..61b75073 100644 --- a/src/js/game/buildings/wire.js +++ b/src/js/game/buildings/wire.js @@ -82,7 +82,7 @@ export class MetaWireBuilding extends MetaBuilding { * @param {GameRoot} root */ getIsUnlocked(root) { - return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_filters_and_levers); + return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_painter_and_levers); } /** diff --git a/src/js/game/buildings/wire_tunnel.js b/src/js/game/buildings/wire_tunnel.js index 296d3a35..2626dd12 100644 --- a/src/js/game/buildings/wire_tunnel.js +++ b/src/js/game/buildings/wire_tunnel.js @@ -21,7 +21,7 @@ export class MetaWireTunnelBuilding extends MetaBuilding { * @param {GameRoot} root */ getIsUnlocked(root) { - return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_filters_and_levers); + return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_painter_and_levers); } /** diff --git a/src/js/game/camera.js b/src/js/game/camera.js index 66d7efa8..8f5b850e 100644 --- a/src/js/game/camera.js +++ b/src/js/game/camera.js @@ -353,7 +353,7 @@ export class Camera extends BasicSerializableObject { .add(() => (this.desiredZoom = this.zoomLevel * 1.2)); mapper .getBinding(KEYMAPPINGS.navigation.mapZoomOut) - .add(() => (this.desiredZoom = this.zoomLevel * 0.8)); + .add(() => (this.desiredZoom = this.zoomLevel / 1.2)); mapper.getBinding(KEYMAPPINGS.navigation.centerMap).add(() => this.centerOnMap()); } @@ -502,10 +502,10 @@ export class Camera extends BasicSerializableObject { } const prevZoom = this.zoomLevel; - const delta = Math.sign(event.deltaY) * -0.15 * this.root.app.settings.getScrollWheelSensitivity(); - assert(Number.isFinite(delta), "Got invalid delta in mouse wheel event: " + event.deltaY); + const scale = 1 + 0.15 * this.root.app.settings.getScrollWheelSensitivity(); + assert(Number.isFinite(scale), "Got invalid scale in mouse wheel event: " + event.deltaY); assert(Number.isFinite(this.zoomLevel), "Got invalid zoom level *before* wheel: " + this.zoomLevel); - this.zoomLevel *= 1 + delta; + this.zoomLevel *= event.deltaY < 0 ? scale : 1 / scale; assert(Number.isFinite(this.zoomLevel), "Got invalid zoom level *after* wheel: " + this.zoomLevel); this.clampZoomLevel(); @@ -939,6 +939,7 @@ export class Camera extends BasicSerializableObject { this.zoomLevel = this.zoomLevel * fade + this.desiredZoom * (1 - fade); assert(Number.isFinite(this.zoomLevel), "Zoom level is NaN after fade: " + this.zoomLevel); } else { + this.zoomLevel = this.desiredZoom; this.desiredZoom = null; } } diff --git a/src/js/game/component_registry.js b/src/js/game/component_registry.js index c4ea6921..f094e60d 100644 --- a/src/js/game/component_registry.js +++ b/src/js/game/component_registry.js @@ -18,6 +18,7 @@ import { WireTunnelComponent } from "./components/wire_tunnel"; import { DisplayComponent } from "./components/display"; import { BeltReaderComponent } from "./components/belt_reader"; import { FilterComponent } from "./components/filter"; +import { ItemProducerComponent } from "./components/item_producer"; export function initComponentRegistry() { gComponentRegistry.register(StaticMapEntityComponent); @@ -39,6 +40,7 @@ export function initComponentRegistry() { gComponentRegistry.register(DisplayComponent); gComponentRegistry.register(BeltReaderComponent); gComponentRegistry.register(FilterComponent); + gComponentRegistry.register(ItemProducerComponent); // IMPORTANT ^^^^^ UPDATE ENTITY COMPONENT STORAGE AFTERWARDS diff --git a/src/js/game/components/item_producer.js b/src/js/game/components/item_producer.js new file mode 100644 index 00000000..ef3571e2 --- /dev/null +++ b/src/js/game/components/item_producer.js @@ -0,0 +1,7 @@ +import { Component } from "../component"; + +export class ItemProducerComponent extends Component { + static getId() { + return "ItemProducer"; + } +} diff --git a/src/js/game/entity_components.js b/src/js/game/entity_components.js index 32870d37..7dee590a 100644 --- a/src/js/game/entity_components.js +++ b/src/js/game/entity_components.js @@ -18,6 +18,7 @@ import { WireTunnelComponent } from "./components/wire_tunnel"; import { DisplayComponent } from "./components/display"; import { BeltReaderComponent } from "./components/belt_reader"; import { FilterComponent } from "./components/filter"; +import { ItemProducerComponent } from "./components/item_producer"; /* typehints:end */ /** @@ -85,6 +86,9 @@ export class EntityComponentStorage { /** @type {FilterComponent} */ this.Filter; + /** @type {ItemProducerComponent} */ + this.ItemProducer; + /* typehints:end */ } } diff --git a/src/js/game/game_system_manager.js b/src/js/game/game_system_manager.js index 2c81f899..74ba798f 100644 --- a/src/js/game/game_system_manager.js +++ b/src/js/game/game_system_manager.js @@ -23,6 +23,7 @@ import { DisplaySystem } from "./systems/display"; import { ItemProcessorOverlaysSystem } from "./systems/item_processor_overlays"; import { BeltReaderSystem } from "./systems/belt_reader"; import { FilterSystem } from "./systems/filter"; +import { ItemProducerSystem } from "./systems/item_producer"; const logger = createLogger("game_system_manager"); @@ -96,6 +97,9 @@ export class GameSystemManager { /** @type {FilterSystem} */ filter: null, + /** @type {ItemProducerSystem} */ + itemProducer: null, + /* typehints:end */ }; this.systemUpdateOrder = []; @@ -130,6 +134,8 @@ export class GameSystemManager { add("filter", FilterSystem); + add("itemProducer", ItemProducerSystem); + add("itemEjector", ItemEjectorSystem); add("mapResources", MapResourcesSystem); diff --git a/src/js/game/hub_goals.js b/src/js/game/hub_goals.js index 8b7be917..e01ab868 100644 --- a/src/js/game/hub_goals.js +++ b/src/js/game/hub_goals.js @@ -1,4 +1,4 @@ -import { globalConfig } from "../core/config"; +import { globalConfig, IS_DEMO } from "../core/config"; import { RandomNumberGenerator } from "../core/rng"; import { clamp, findNiceIntegerValue, randomChoice, randomInt } from "../core/utils"; import { BasicSerializableObject, types } from "../savegame/serialization"; @@ -29,6 +29,10 @@ export class HubGoals extends BasicSerializableObject { return errorCode; } + if (IS_DEMO) { + this.level = Math.min(this.level, tutorialGoals.length); + } + // Compute gained rewards for (let i = 0; i < this.level - 1; ++i) { if (i < tutorialGoals.length) { @@ -102,13 +106,23 @@ export class HubGoals extends BasicSerializableObject { if (ev.key === "b") { // root is not guaranteed to exist within ~0.5s after loading in if (this.root && this.root.app && this.root.app.gameAnalytics) { - this.onGoalCompleted(); + if (!this.isEndOfDemoReached()) { + this.onGoalCompleted(); + } } } }); } } + /** + * Returns whether the end of the demo is reached + * @returns {boolean} + */ + isEndOfDemoReached() { + return IS_DEMO && this.level >= tutorialGoals.length; + } + /** * Returns how much of the current shape is stored * @param {ShapeDefinition} definition @@ -144,9 +158,11 @@ export class HubGoals extends BasicSerializableObject { */ getCurrentGoalDelivered() { if (this.currentGoal.throughputOnly) { - return this.root.productionAnalytics.getCurrentShapeRate( - enumAnalyticsDataSource.delivered, - this.currentGoal.definition + return ( + this.root.productionAnalytics.getCurrentShapeRate( + enumAnalyticsDataSource.delivered, + this.currentGoal.definition + ) / globalConfig.analyticsSliceDurationSeconds ); } @@ -188,7 +204,9 @@ export class HubGoals extends BasicSerializableObject { this.getCurrentGoalDelivered() >= this.currentGoal.required || (G_IS_DEV && globalConfig.debug.rewardsInstant) ) { - this.onGoalCompleted(); + if (!this.isEndOfDemoReached()) { + this.onGoalCompleted(); + } } } @@ -209,10 +227,8 @@ export class HubGoals extends BasicSerializableObject { return; } - const required = 4 + (this.level - 27) * 0.25; - + const required = Math.min(200, 4 + (this.level - 27) * 0.25); this.currentGoal = { - /** @type {ShapeDefinition} */ definition: this.computeFreeplayShape(this.level), required, reward: enumHubGoalRewards.no_reward_freeplay, @@ -254,6 +270,11 @@ export class HubGoals extends BasicSerializableObject { return false; } + if (IS_DEMO && currentLevel >= 4) { + // DEMO + return false; + } + if (G_IS_DEV && globalConfig.debug.upgradesNoCost) { return true; } diff --git a/src/js/game/hud/hud.js b/src/js/game/hud/hud.js index 3689d41a..189654c1 100644 --- a/src/js/game/hud/hud.js +++ b/src/js/game/hud/hud.js @@ -46,6 +46,7 @@ import { HUDLayerPreview } from "./parts/layer_preview"; import { HUDMinerHighlight } from "./parts/miner_highlight"; import { HUDBetaOverlay } from "./parts/beta_overlay"; import { HUDPerformanceWarning } from "./parts/performance_warning"; +import { HUDStandaloneAdvantages } from "./parts/standalone_advantages"; export class GameHUD { /** @@ -116,6 +117,7 @@ export class GameHUD { if (IS_DEMO) { this.parts.watermark = new HUDWatermark(this.root); + this.parts.standaloneAdvantages = new HUDStandaloneAdvantages(this.root); } if (G_IS_DEV && globalConfig.debug.renderChanges) { @@ -139,7 +141,7 @@ export class GameHUD { this.parts.sandboxController = new HUDSandboxController(this.root); } - if (!G_IS_RELEASE) { + if (!G_IS_RELEASE && !G_IS_DEV) { this.parts.betaOverlay = new HUDBetaOverlay(this.root); } diff --git a/src/js/game/hud/parts/beta_overlay.js b/src/js/game/hud/parts/beta_overlay.js index e6c52a8b..1b2fa259 100644 --- a/src/js/game/hud/parts/beta_overlay.js +++ b/src/js/game/hud/parts/beta_overlay.js @@ -7,7 +7,7 @@ export class HUDBetaOverlay extends BaseHUDPart { parent, "ingame_HUD_BetaOverlay", [], - "

CLOSED BETA VERSION

This version is unstable, might crash and is not final!" + "

UNSTABLE BETA VERSION

Steam Release: 9th October 2020!" ); } diff --git a/src/js/game/hud/parts/buildings_toolbar.js b/src/js/game/hud/parts/buildings_toolbar.js index b40429dc..b492f291 100644 --- a/src/js/game/hud/parts/buildings_toolbar.js +++ b/src/js/game/hud/parts/buildings_toolbar.js @@ -14,6 +14,8 @@ import { MetaTrashBuilding } from "../../buildings/trash"; import { MetaUndergroundBeltBuilding } from "../../buildings/underground_belt"; import { HUDBaseToolbar } from "./base_toolbar"; import { MetaStorageBuilding } from "../../buildings/storage"; +import { MetaItemProducerBuilding } from "../../buildings/item_producer"; +import { queryParamOptions } from "../../../core/query_parameters"; export class HUDBuildingsToolbar extends HUDBaseToolbar { constructor(root) { @@ -29,6 +31,7 @@ export class HUDBuildingsToolbar extends HUDBaseToolbar { MetaMixerBuilding, MetaPainterBuilding, MetaTrashBuilding, + ...(queryParamOptions.sandboxMode || G_IS_DEV ? [MetaItemProducerBuilding] : []), ], secondaryBuildings: [ MetaStorageBuilding, diff --git a/src/js/game/hud/parts/keybinding_overlay.js b/src/js/game/hud/parts/keybinding_overlay.js index 2a50e3fe..65919d3c 100644 --- a/src/js/game/hud/parts/keybinding_overlay.js +++ b/src/js/game/hud/parts/keybinding_overlay.js @@ -259,7 +259,7 @@ export class HUDKeybindingOverlay extends BaseHUDPart { label: T.ingame.keybindingsOverlay.switchLayers, keys: [k.ingame.switchLayers], condition: () => - this.root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_filters_and_levers), + this.root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_painter_and_levers), }, ]; diff --git a/src/js/game/hud/parts/modal_dialogs.js b/src/js/game/hud/parts/modal_dialogs.js index 06993616..263b23dd 100644 --- a/src/js/game/hud/parts/modal_dialogs.js +++ b/src/js/game/hud/parts/modal_dialogs.js @@ -122,7 +122,7 @@ export class HUDModalDialogs extends BaseHUDPart { dialog.buttonSignals.getStandalone.add(() => { this.app.analytics.trackUiClick("demo_dialog_click"); - window.open(THIRDPARTY_URLS.standaloneStorePage); + window.open(THIRDPARTY_URLS.standaloneStorePage + "?ref=ddc"); }); return dialog.buttonSignals; diff --git a/src/js/game/hud/parts/pinned_shapes.js b/src/js/game/hud/parts/pinned_shapes.js index 941a679f..91663c56 100644 --- a/src/js/game/hud/parts/pinned_shapes.js +++ b/src/js/game/hud/parts/pinned_shapes.js @@ -6,6 +6,7 @@ import { blueprintShape, UPGRADES } from "../../upgrades"; import { enumHubGoalRewards } from "../../tutorial_goals"; import { enumAnalyticsDataSource } from "../../production_analytics"; import { T } from "../../../translations"; +import { globalConfig } from "../../../core/config"; /** * Manages the pinned shapes on the left side of the screen @@ -265,10 +266,11 @@ export class HUDPinnedShapes extends BaseHUDPart { let currentValueFormatted = formatBigNumber(currentValue); if (handle.throughputOnly) { - currentValue = this.root.productionAnalytics.getCurrentShapeRate( - enumAnalyticsDataSource.delivered, - handle.definition - ); + currentValue = + this.root.productionAnalytics.getCurrentShapeRate( + enumAnalyticsDataSource.delivered, + handle.definition + ) / globalConfig.analyticsSliceDurationSeconds; currentValueFormatted = T.ingame.statistics.shapesDisplayUnits.second.replace( "", String(currentValue) diff --git a/src/js/game/hud/parts/settings_menu.js b/src/js/game/hud/parts/settings_menu.js index 31afe348..b4850e0f 100644 --- a/src/js/game/hud/parts/settings_menu.js +++ b/src/js/game/hud/parts/settings_menu.js @@ -88,13 +88,8 @@ export class HUDSettingsMenu extends BaseHUDPart { this.close(); } - cleanup() { - document.body.classList.remove("ingameDialogOpen"); - } - show() { this.visible = true; - document.body.classList.add("ingameDialogOpen"); this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever); const totalMinutesPlayed = Math.ceil(this.root.time.now() / 60); @@ -120,7 +115,6 @@ export class HUDSettingsMenu extends BaseHUDPart { close() { this.visible = false; - document.body.classList.remove("ingameDialogOpen"); this.root.app.inputMgr.makeSureDetached(this.inputReciever); this.update(); } diff --git a/src/js/game/hud/parts/shape_viewer.js b/src/js/game/hud/parts/shape_viewer.js index 18f55c74..a7f5d206 100644 --- a/src/js/game/hud/parts/shape_viewer.js +++ b/src/js/game/hud/parts/shape_viewer.js @@ -67,7 +67,6 @@ export class HUDShapeViewer extends BaseHUDPart { */ close() { this.visible = false; - document.body.classList.remove("ingameDialogOpen"); this.root.app.inputMgr.makeSureDetached(this.inputReciever); this.update(); } @@ -78,7 +77,6 @@ export class HUDShapeViewer extends BaseHUDPart { */ renderForShape(definition) { this.visible = true; - document.body.classList.add("ingameDialogOpen"); this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever); removeAllChildren(this.renderArea); @@ -124,13 +122,6 @@ export class HUDShapeViewer extends BaseHUDPart { } } - /** - * Cleans up everything - */ - cleanup() { - document.body.classList.remove("ingameDialogOpen"); - } - update() { this.domAttach.update(this.visible); } diff --git a/src/js/game/hud/parts/shop.js b/src/js/game/hud/parts/shop.js index 6c1bdc3f..4a25d16e 100644 --- a/src/js/game/hud/parts/shop.js +++ b/src/js/game/hud/parts/shop.js @@ -205,8 +205,6 @@ export class HUDShop extends BaseHUDPart { } cleanup() { - document.body.classList.remove("ingameDialogOpen"); - // Cleanup detectors for (const upgradeId in this.upgradeToElements) { const handle = this.upgradeToElements[upgradeId]; @@ -222,15 +220,12 @@ export class HUDShop extends BaseHUDPart { show() { this.visible = true; - document.body.classList.add("ingameDialogOpen"); - // this.background.classList.add("visible"); this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever); this.rerenderFull(); } close() { this.visible = false; - document.body.classList.remove("ingameDialogOpen"); this.root.app.inputMgr.makeSureDetached(this.inputReciever); this.update(); } diff --git a/src/js/game/hud/parts/standalone_advantages.js b/src/js/game/hud/parts/standalone_advantages.js new file mode 100644 index 00000000..8eb3d478 --- /dev/null +++ b/src/js/game/hud/parts/standalone_advantages.js @@ -0,0 +1,84 @@ +import { THIRDPARTY_URLS } from "../../../core/config"; +import { InputReceiver } from "../../../core/input_receiver"; +import { makeDiv } from "../../../core/utils"; +import { T } from "../../../translations"; +import { BaseHUDPart } from "../base_hud_part"; +import { DynamicDomAttach } from "../dynamic_dom_attach"; + +const showIntervalSeconds = 30 * 60; + +export class HUDStandaloneAdvantages extends BaseHUDPart { + createElements(parent) { + this.background = makeDiv(parent, "ingame_HUD_StandaloneAdvantages", ["ingameDialog"]); + + // DIALOG Inner / Wrapper + this.dialogInner = makeDiv(this.background, null, ["dialogInner"]); + this.title = makeDiv(this.dialogInner, null, ["title"], T.ingame.standaloneAdvantages.title); + this.contentDiv = makeDiv( + this.dialogInner, + null, + ["content"], + ` +
+ ${Object.entries(T.ingame.standaloneAdvantages.points) + .map( + ([key, trans]) => ` +
+ ${trans.title} +

${trans.desc}

+
` + ) + .join("")} + +
+ +
+ + +
+ ` + ); + + this.trackClicks(this.contentDiv.querySelector("button.steamLinkButton"), () => { + this.root.app.analytics.trackUiClick("standalone_advantage_visit_steam"); + this.root.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.standaloneStorePage + "?ref=savs"); + this.close(); + }); + this.trackClicks(this.contentDiv.querySelector("button.otherCloseButton"), () => { + this.root.app.analytics.trackUiClick("standalone_advantage_no_thanks"); + this.close(); + }); + } + + initialize() { + this.domAttach = new DynamicDomAttach(this.root, this.background, { + attachClass: "visible", + }); + + this.inputReciever = new InputReceiver("standalone-advantages"); + this.close(); + + this.lastShown = this.root.gameIsFresh ? this.root.time.now() : 0; + } + + show() { + this.lastShown = this.root.time.now(); + this.visible = true; + this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever); + } + + close() { + this.visible = false; + this.root.app.inputMgr.makeSureDetached(this.inputReciever); + this.update(); + } + + update() { + if (!this.visible && this.root.time.now() - this.lastShown > showIntervalSeconds) { + this.show(); + } + + this.domAttach.update(this.visible); + } +} diff --git a/src/js/game/hud/parts/statistics.js b/src/js/game/hud/parts/statistics.js index 910c49d0..a28ed288 100644 --- a/src/js/game/hud/parts/statistics.js +++ b/src/js/game/hud/parts/statistics.js @@ -151,17 +151,12 @@ export class HUDStatistics extends BaseHUDPart { } } - cleanup() { - document.body.classList.remove("ingameDialogOpen"); - } - isBlockingOverlay() { return this.visible; } show() { this.visible = true; - document.body.classList.add("ingameDialogOpen"); this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever); this.rerenderFull(); this.update(); @@ -169,7 +164,6 @@ export class HUDStatistics extends BaseHUDPart { close() { this.visible = false; - document.body.classList.remove("ingameDialogOpen"); this.root.app.inputMgr.makeSureDetached(this.inputReciever); this.update(); } diff --git a/src/js/game/hud/parts/tutorial_hints.js b/src/js/game/hud/parts/tutorial_hints.js index 428923d0..c9499f85 100644 --- a/src/js/game/hud/parts/tutorial_hints.js +++ b/src/js/game/hud/parts/tutorial_hints.js @@ -1,109 +1,106 @@ -import { InputReceiver } from "../../../core/input_receiver"; -import { TrackedState } from "../../../core/tracked_state"; -import { makeDiv } from "../../../core/utils"; -import { KeyActionMapper, KEYMAPPINGS } from "../../key_action_mapper"; -import { BaseHUDPart } from "../base_hud_part"; -import { DynamicDomAttach } from "../dynamic_dom_attach"; -import { T } from "../../../translations"; - -const tutorialVideos = [2, 3, 4, 5, 6, 7, 9, 10, 11]; - -export class HUDPartTutorialHints extends BaseHUDPart { - createElements(parent) { - this.element = makeDiv( - parent, - "ingame_HUD_TutorialHints", - [], - ` -
- ${T.ingame.tutorialHints.title} - -
- - - ` - ); - - this.videoElement = this.element.querySelector("video"); - } - - shouldPauseGame() { - return this.enlarged; - } - - initialize() { - this.trackClicks(this.element.querySelector(".toggleHint"), this.toggleHintEnlarged); - - this.videoAttach = new DynamicDomAttach(this.root, this.videoElement, { - timeToKeepSeconds: 0.3, - }); - - this.videoAttach.update(false); - this.enlarged = false; - - this.inputReciever = new InputReceiver("tutorial_hints"); - this.keyActionMapper = new KeyActionMapper(this.root, this.inputReciever); - this.keyActionMapper.getBinding(KEYMAPPINGS.general.back).add(this.close, this); - - this.domAttach = new DynamicDomAttach(this.root, this.element); - - this.currentShownLevel = new TrackedState(this.updateVideoUrl, this); - } - - updateVideoUrl(level) { - if (tutorialVideos.indexOf(level) < 0) { - this.videoElement.querySelector("source").setAttribute("src", ""); - this.videoElement.pause(); - } else { - this.videoElement - .querySelector("source") - .setAttribute("src", "https://static.shapez.io/tutorial_videos/level_" + level + ".webm"); - this.videoElement.currentTime = 0; - this.videoElement.load(); - } - } - - close() { - this.enlarged = false; - document.body.classList.remove("ingameDialogOpen"); - this.element.classList.remove("enlarged", "noBlur"); - this.root.app.inputMgr.makeSureDetached(this.inputReciever); - this.update(); - } - - show() { - this.root.app.analytics.trackUiClick("tutorial_hint_show"); - this.root.app.analytics.trackUiClick("tutorial_hint_show_lvl_" + this.root.hubGoals.level); - - document.body.classList.add("ingameDialogOpen"); - this.element.classList.add("enlarged", "noBlur"); - this.enlarged = true; - this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever); - this.update(); - - this.videoElement.currentTime = 0; - this.videoElement.play(); - } - - update() { - this.videoAttach.update(this.enlarged); - - this.currentShownLevel.set(this.root.hubGoals.level); - - const tutorialVisible = tutorialVideos.indexOf(this.root.hubGoals.level) >= 0; - this.domAttach.update(tutorialVisible); - } - - toggleHintEnlarged() { - if (this.enlarged) { - this.close(); - } else { - this.show(); - } - } -} +import { InputReceiver } from "../../../core/input_receiver"; +import { TrackedState } from "../../../core/tracked_state"; +import { makeDiv } from "../../../core/utils"; +import { KeyActionMapper, KEYMAPPINGS } from "../../key_action_mapper"; +import { BaseHUDPart } from "../base_hud_part"; +import { DynamicDomAttach } from "../dynamic_dom_attach"; +import { T } from "../../../translations"; + +const tutorialVideos = [2, 3, 4, 5, 6, 7, 9, 10, 11]; + +export class HUDPartTutorialHints extends BaseHUDPart { + createElements(parent) { + this.element = makeDiv( + parent, + "ingame_HUD_TutorialHints", + [], + ` +
+ ${T.ingame.tutorialHints.title} + +
+ + + ` + ); + + this.videoElement = this.element.querySelector("video"); + } + + shouldPauseGame() { + return this.enlarged; + } + + initialize() { + this.trackClicks(this.element.querySelector(".toggleHint"), this.toggleHintEnlarged); + + this.videoAttach = new DynamicDomAttach(this.root, this.videoElement, { + timeToKeepSeconds: 0.3, + }); + + this.videoAttach.update(false); + this.enlarged = false; + + this.inputReciever = new InputReceiver("tutorial_hints"); + this.keyActionMapper = new KeyActionMapper(this.root, this.inputReciever); + this.keyActionMapper.getBinding(KEYMAPPINGS.general.back).add(this.close, this); + + this.domAttach = new DynamicDomAttach(this.root, this.element); + + this.currentShownLevel = new TrackedState(this.updateVideoUrl, this); + } + + updateVideoUrl(level) { + if (tutorialVideos.indexOf(level) < 0) { + this.videoElement.querySelector("source").setAttribute("src", ""); + this.videoElement.pause(); + } else { + this.videoElement + .querySelector("source") + .setAttribute("src", "https://static.shapez.io/tutorial_videos/level_" + level + ".webm"); + this.videoElement.currentTime = 0; + this.videoElement.load(); + } + } + + close() { + this.enlarged = false; + this.element.classList.remove("enlarged", "noBlur"); + this.root.app.inputMgr.makeSureDetached(this.inputReciever); + this.update(); + } + + show() { + this.root.app.analytics.trackUiClick("tutorial_hint_show"); + this.root.app.analytics.trackUiClick("tutorial_hint_show_lvl_" + this.root.hubGoals.level); + this.element.classList.add("enlarged", "noBlur"); + this.enlarged = true; + this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever); + this.update(); + + this.videoElement.currentTime = 0; + this.videoElement.play(); + } + + update() { + this.videoAttach.update(this.enlarged); + + this.currentShownLevel.set(this.root.hubGoals.level); + + const tutorialVisible = tutorialVideos.indexOf(this.root.hubGoals.level) >= 0; + this.domAttach.update(tutorialVisible); + } + + toggleHintEnlarged() { + if (this.enlarged) { + this.close(); + } else { + this.show(); + } + } +} diff --git a/src/js/game/hud/parts/unlock_notification.js b/src/js/game/hud/parts/unlock_notification.js index 32c42f67..5fea2892 100644 --- a/src/js/game/hud/parts/unlock_notification.js +++ b/src/js/game/hud/parts/unlock_notification.js @@ -51,6 +51,8 @@ export class HUDUnlockNotification extends BaseHUDPart { * @param {enumHubGoalRewards} reward */ showForLevel(level, reward) { + this.root.soundProxy.playUi(SOUNDS.levelComplete); + if (level > tutorialGoals.length) { this.root.hud.signals.notification.dispatch( T.ingame.notifications.freeplayLevelComplete.replace("", String(level)), @@ -92,7 +94,6 @@ export class HUDUnlockNotification extends BaseHUDPart { this.elemContents.innerHTML = html; this.visible = true; - this.root.soundProxy.playUi(SOUNDS.levelComplete); if (this.buttonShowTimeout) { clearTimeout(this.buttonShowTimeout); diff --git a/src/js/game/hud/parts/watermark.js b/src/js/game/hud/parts/watermark.js index d10bc07c..10e48e6d 100644 --- a/src/js/game/hud/parts/watermark.js +++ b/src/js/game/hud/parts/watermark.js @@ -1,44 +1,67 @@ -import { BaseHUDPart } from "../base_hud_part"; -import { DrawParameters } from "../../../core/draw_parameters"; -import { makeDiv } from "../../../core/utils"; -import { THIRDPARTY_URLS } from "../../../core/config"; -import { T } from "../../../translations"; - -export class HUDWatermark extends BaseHUDPart { - createElements(parent) { - this.element = makeDiv(parent, "ingame_HUD_Watermark"); - } - - initialize() { - this.trackClicks(this.element, this.onWatermarkClick); - } - - onWatermarkClick() { - this.root.app.analytics.trackUiClick("watermark_click_2"); - this.root.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.standaloneStorePage); - } - - /** - * - * @param {DrawParameters} parameters - */ - drawOverlays(parameters) { - const w = this.root.gameWidth; - const x = 280 * this.root.app.getEffectiveUiScale(); - - parameters.context.fillStyle = "#f77"; - parameters.context.font = "bold " + this.root.app.getEffectiveUiScale() * 17 + "px GameFont"; - // parameters.context.textAlign = "center"; - parameters.context.fillText( - T.demoBanners.title.toUpperCase(), - x, - this.root.app.getEffectiveUiScale() * 27 - ); - - parameters.context.font = "bold " + this.root.app.getEffectiveUiScale() * 12 + "px GameFont"; - // parameters.context.textAlign = "center"; - parameters.context.fillText(T.demoBanners.intro, x, this.root.app.getEffectiveUiScale() * 45); - - // parameters.context.textAlign = "left"; - } -} +import { THIRDPARTY_URLS } from "../../../core/config"; +import { makeDiv } from "../../../core/utils"; +import { T } from "../../../translations"; +import { BaseHUDPart } from "../base_hud_part"; +import { DynamicDomAttach } from "../dynamic_dom_attach"; + +export class HUDWatermark extends BaseHUDPart { + createElements(parent) { + this.element = makeDiv( + parent, + "ingame_HUD_Watermark", + [], + ` + ${T.ingame.watermark.title} +

${T.ingame.watermark.desc}

+ ` + ); + + this.linkElement = makeDiv( + parent, + "ingame_HUD_WatermarkClicker", + [], + T.ingame.watermark.get_on_steam + ); + this.trackClicks(this.linkElement, () => { + this.root.app.analytics.trackUiClick("watermark_click_2_direct"); + this.root.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.standaloneStorePage + "?ref=wtmd"); + }); + } + + initialize() { + this.trackClicks(this.element, this.onWatermarkClick); + + this.domAttach = new DynamicDomAttach(this.root, this.element, { + attachClass: "visible", + timeToKeepSeconds: 0.5, + }); + } + + update() { + this.domAttach.update(this.root.time.realtimeNow() % (G_IS_DEV ? 20 : 180) < 5); + } + + onWatermarkClick() { + this.root.app.analytics.trackUiClick("watermark_click_2_new"); + this.root.hud.parts.standaloneAdvantages.show(); + } + + /** + * + * @param {import("../../../core/draw_utils").DrawParameters} parameters + */ + drawOverlays(parameters) { + const w = this.root.gameWidth; + + parameters.context.fillStyle = "rgba(230, 230, 230, 0.9)"; + parameters.context.font = "bold " + this.root.app.getEffectiveUiScale() * 40 + "px GameFont"; + parameters.context.textAlign = "center"; + parameters.context.fillText( + T.demoBanners.title.toUpperCase(), + w / 2, + this.root.app.getEffectiveUiScale() * 50 + ); + + parameters.context.textAlign = "left"; + } +} diff --git a/src/js/game/hud/parts/wires_overlay.js b/src/js/game/hud/parts/wires_overlay.js index 7d956eba..752d9cb3 100644 --- a/src/js/game/hud/parts/wires_overlay.js +++ b/src/js/game/hud/parts/wires_overlay.js @@ -29,7 +29,10 @@ export class HUDWiresOverlay extends BaseHUDPart { */ switchLayers() { if (this.root.currentLayer === "regular") { - if (this.root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_filters_and_levers)) { + if ( + this.root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_painter_and_levers) || + (G_IS_DEV && globalConfig.debug.allBuildingsUnlocked) + ) { this.root.currentLayer = "wires"; } } else { diff --git a/src/js/game/key_action_mapper.js b/src/js/game/key_action_mapper.js index 5114ea95..9c1b2f96 100644 --- a/src/js/game/key_action_mapper.js +++ b/src/js/game/key_action_mapper.js @@ -56,6 +56,9 @@ export const KEYMAPPINGS = { painter: { keyCode: key("9") }, trash: { keyCode: key("0") }, + // Sandbox + item_producer: { keyCode: key("L") }, + // Secondary toolbar storage: { keyCode: key("Y") }, reader: { keyCode: key("U") }, diff --git a/src/js/game/meta_building_registry.js b/src/js/game/meta_building_registry.js index b29bb574..0613103e 100644 --- a/src/js/game/meta_building_registry.js +++ b/src/js/game/meta_building_registry.js @@ -10,6 +10,7 @@ import { enumCutterVariants, MetaCutterBuilding } from "./buildings/cutter"; import { MetaDisplayBuilding } from "./buildings/display"; import { MetaFilterBuilding } from "./buildings/filter"; import { MetaHubBuilding } from "./buildings/hub"; +import { MetaItemProducerBuilding } from "./buildings/item_producer"; import { MetaLeverBuilding } from "./buildings/lever"; import { enumLogicGateVariants, MetaLogicGateBuilding } from "./buildings/logic_gate"; import { enumMinerVariants, MetaMinerBuilding } from "./buildings/miner"; @@ -19,7 +20,7 @@ import { MetaReaderBuilding } from "./buildings/reader"; import { enumRotaterVariants, MetaRotaterBuilding } from "./buildings/rotater"; import { MetaStackerBuilding } from "./buildings/stacker"; import { MetaStorageBuilding } from "./buildings/storage"; -import { MetaTransistorBuilding, enumTransistorVariants } from "./buildings/transistor"; +import { enumTransistorVariants, MetaTransistorBuilding } from "./buildings/transistor"; import { MetaTrashBuilding } from "./buildings/trash"; import { enumUndergroundBeltVariants, MetaUndergroundBeltBuilding } from "./buildings/underground_belt"; import { enumVirtualProcessorVariants, MetaVirtualProcessorBuilding } from "./buildings/virtual_processor"; @@ -57,6 +58,7 @@ export function initMetaBuildingRegistry() { gMetaBuildingRegistry.register(MetaTransistorBuilding); gMetaBuildingRegistry.register(MetaAnalyzerBuilding); gMetaBuildingRegistry.register(MetaComparatorBuilding); + gMetaBuildingRegistry.register(MetaItemProducerBuilding); // Belt registerBuildingVariant(1, MetaBeltBuilding, defaultBuildingVariant, 0); @@ -160,6 +162,9 @@ export function initMetaBuildingRegistry() { // Reader registerBuildingVariant(49, MetaReaderBuilding); + // Item producer + registerBuildingVariant(61, MetaItemProducerBuilding); + // Propagate instances for (const key in gBuildingVariants) { gBuildingVariants[key].metaInstance = gMetaBuildingRegistry.findByClass( diff --git a/src/js/game/systems/constant_signal.js b/src/js/game/systems/constant_signal.js index 3af98460..0b2f38da 100644 --- a/src/js/game/systems/constant_signal.js +++ b/src/js/game/systems/constant_signal.js @@ -58,7 +58,13 @@ export class ConstantSignalSystem extends GameSystemWithFilter { BOOL_FALSE_SINGLETON, BOOL_TRUE_SINGLETON, ...Object.values(COLOR_ITEM_SINGLETONS), + this.root.shapeDefinitionMgr.getShapeItemFromDefinition( + this.root.hubGoals.currentGoal.definition + ), this.root.shapeDefinitionMgr.getShapeItemFromShortKey(blueprintShape), + ...this.root.hud.parts.pinnedShapes.pinnedShapes.map(key => + this.root.shapeDefinitionMgr.getShapeItemFromShortKey(key) + ), ], }); diff --git a/src/js/game/systems/hub.js b/src/js/game/systems/hub.js index a3ec2b97..bed410c6 100644 --- a/src/js/game/systems/hub.js +++ b/src/js/game/systems/hub.js @@ -1,4 +1,4 @@ -import { globalConfig } from "../../core/config"; +import { globalConfig, IS_DEMO } from "../../core/config"; import { smoothenDpi } from "../../core/dpi_manager"; import { DrawParameters } from "../../core/draw_parameters"; import { drawSpriteClipped } from "../../core/draw_utils"; @@ -65,6 +65,17 @@ export class HubSystem extends GameSystemWithFilter { this.hubSprite.draw(context, 0, 0, w, h); + if (this.root.hubGoals.isEndOfDemoReached()) { + // End of demo + context.font = "bold 12px GameFont"; + context.fillStyle = "#fd0752"; + context.textAlign = "center"; + context.fillText(T.buildings.hub.endOfDemo.toUpperCase(), w / 2, h / 2 + 6); + context.textAlign = "left"; + + return; + } + const definition = this.root.hubGoals.currentGoal.definition; definition.drawCentered(45, 58, parameters, 36); diff --git a/src/js/game/systems/item_producer.js b/src/js/game/systems/item_producer.js new file mode 100644 index 00000000..52edf5d1 --- /dev/null +++ b/src/js/game/systems/item_producer.js @@ -0,0 +1,24 @@ +import { ItemProducerComponent } from "../components/item_producer"; +import { GameSystemWithFilter } from "../game_system_with_filter"; + +export class ItemProducerSystem extends GameSystemWithFilter { + constructor(root) { + super(root, [ItemProducerComponent]); + } + + update() { + for (let i = 0; i < this.allEntities.length; ++i) { + const entity = this.allEntities[i]; + const pinsComp = entity.components.WiredPins; + const pin = pinsComp.slots[0]; + const network = pin.linkedNetwork; + + if (!network || !network.hasValue()) { + continue; + } + + const ejectorComp = entity.components.ItemEjector; + ejectorComp.tryEject(0, network.currentValue); + } + } +} diff --git a/src/js/game/tutorial_goals.js b/src/js/game/tutorial_goals.js index ff385288..f7b56ffe 100644 --- a/src/js/game/tutorial_goals.js +++ b/src/js/game/tutorial_goals.js @@ -1,3 +1,4 @@ +import { IS_DEMO } from "../core/config"; import { ShapeDefinition } from "./shape_definition"; import { finalGameShape } from "./upgrades"; @@ -22,14 +23,16 @@ export const enumHubGoalRewards = { reward_splitter: "reward_splitter", reward_cutter_quad: "reward_cutter_quad", reward_painter_double: "reward_painter_double", - reward_painter_quad: "reward_painter_quad", reward_storage: "reward_storage", reward_merger: "reward_merger", - reward_wires_filters_and_levers: "reward_wires_filters_and_levers", + reward_wires_painter_and_levers: "reward_wires_painter_and_levers", reward_display: "reward_display", reward_constant_signal: "reward_constant_signal", reward_logic_gates: "reward_logic_gates", reward_virtual_processing: "reward_virtual_processing", + reward_filter: "reward_filter", + + reward_demo_end: "reward_demo_end", reward_blueprints: "reward_blueprints", reward_freeplay: "reward_freeplay", @@ -140,107 +143,118 @@ export const tutorialGoals = [ reward: enumHubGoalRewards.reward_underground_belt_tier_2, }, - // 14 - // Belt reader - { - shape: "--Cg----:--Cr----", // unused - required: 16, // Per second! - reward: enumHubGoalRewards.reward_belt_reader, - throughputOnly: true, - }, + // DEMO STOPS HERE + ...(IS_DEMO + ? [ + { + shape: "RpRpRpRp:CwCwCwCw", + required: 0, + reward: enumHubGoalRewards.reward_demo_end, + }, + ] + : [ + // 14 + // Belt reader + { + shape: "--Cg----:--Cr----", // unused + required: 16, // Per second! + reward: enumHubGoalRewards.reward_belt_reader, + throughputOnly: true, + }, - // 15 - // Storage - { - shape: "SrSrSrSr:CyCyCyCy", // unused - required: 10000, - reward: enumHubGoalRewards.reward_storage, - }, + // 15 + // Storage + { + shape: "SrSrSrSr:CyCyCyCy", // unused + required: 10000, + reward: enumHubGoalRewards.reward_storage, + }, - // 16 - // Quad Cutter - { - shape: "SrSrSrSr:CyCyCyCy:SwSwSwSw", // belts t4 (two variants) - required: 6000, - reward: enumHubGoalRewards.reward_cutter_quad, - }, + // 16 + // Quad Cutter + { + shape: "SrSrSrSr:CyCyCyCy:SwSwSwSw", // belts t4 (two variants) + required: 6000, + reward: enumHubGoalRewards.reward_cutter_quad, + }, - // 17 - // Double painter - { - shape: "CbRbRbCb:CwCwCwCw:WbWbWbWb", // miner t4 (two variants) - required: 20000, - reward: enumHubGoalRewards.reward_painter_double, - }, + // 17 + // Double painter + { + shape: "CbRbRbCb:CwCwCwCw:WbWbWbWb", // miner t4 (two variants) + required: 20000, + reward: enumHubGoalRewards.reward_painter_double, + }, - // 18 - // Rotater (180deg) - { - shape: "Sg----Sg:CgCgCgCg:--CyCy--", // unused - required: 20000, - reward: enumHubGoalRewards.reward_rotater_180, - }, + // 18 + // Rotater (180deg) + { + shape: "Sg----Sg:CgCgCgCg:--CyCy--", // unused + required: 20000, + reward: enumHubGoalRewards.reward_rotater_180, + }, - // 19 - // Compact splitter - { - shape: "CpRpCp--:SwSwSwSw", - required: 25000, - reward: enumHubGoalRewards.reward_splitter, - }, + // 19 + // Compact splitter + { + shape: "CpRpCp--:SwSwSwSw", + required: 25000, + reward: enumHubGoalRewards.reward_splitter, + }, - // 20 - // WIRES - { - shape: finalGameShape, - required: 25000, - reward: enumHubGoalRewards.reward_wires_filters_and_levers, - }, + // 20 + // WIRES + { + shape: finalGameShape, + required: 25000, + reward: enumHubGoalRewards.reward_wires_painter_and_levers, + }, - // 21 - // Display - { - shape: "CrCrCrCr:CwCwCwCw:CrCrCrCr:CwCwCwCw", - required: 25000, - reward: enumHubGoalRewards.reward_display, - }, + // 21 + // Filter + { + shape: "CrCwCrCw:CwCrCwCr:CrCwCrCw:CwCrCwCr", + required: 25000, + reward: enumHubGoalRewards.reward_filter, + }, - // 22 - // Constant signal - { - shape: "Cg----Cr:Cw----Cw:Sy------:Cy----Cy", - required: 25000, - reward: enumHubGoalRewards.reward_constant_signal, - }, + // 22 + // Constant signal + { + shape: "Cg----Cr:Cw----Cw:Sy------:Cy----Cy", + required: 25000, + reward: enumHubGoalRewards.reward_constant_signal, + }, - // 23 - // Quad Painter - { - shape: "CcSyCcSy:SyCcSyCc:CcSyCcSy", - required: 5000, - reward: enumHubGoalRewards.reward_painter_quad, - }, + // 23 + // Display + { + shape: "CcSyCcSy:SyCcSyCc:CcSyCcSy", + required: 25000, + reward: enumHubGoalRewards.reward_display, + }, - // 24 Logic gates - { - shape: "CcRcCcRc:RwCwRwCw:Sr--Sw--:CyCyCyCy", - required: 10000, - reward: enumHubGoalRewards.reward_logic_gates, - }, + // 24 Logic gates + { + shape: "CcRcCcRc:RwCwRwCw:Sr--Sw--:CyCyCyCy", + required: 25000, + reward: enumHubGoalRewards.reward_logic_gates, + }, - // 25 Virtual Processing - { - shape: "Rg--Rg--:CwRwCwRw:--Rg--Rg", - required: 10000, - reward: enumHubGoalRewards.reward_virtual_processing, - }, + // 25 Virtual Processing + { + shape: "Rg--Rg--:CwRwCwRw:--Rg--Rg", + required: 25000, + reward: enumHubGoalRewards.reward_virtual_processing, + }, - // 26 Freeplay - { - shape: "CbCuCbCu:Sr------:--CrSrCr:CwCwCwCw", - required: 10000, - reward: enumHubGoalRewards.reward_freeplay, - }, + // 26 Freeplay + { + shape: "CbCuCbCu:Sr------:--CrSrCr:CwCwCwCw", + required: 50000, + reward: enumHubGoalRewards.reward_freeplay, + }, + ]), ]; if (G_IS_DEV) { diff --git a/src/js/game/tutorial_goals_mappings.js b/src/js/game/tutorial_goals_mappings.js index f4c6df01..5cd966b9 100644 --- a/src/js/game/tutorial_goals_mappings.js +++ b/src/js/game/tutorial_goals_mappings.js @@ -3,7 +3,7 @@ import { enumBalancerVariants, MetaBalancerBuilding } from "./buildings/balancer import { MetaConstantSignalBuilding } from "./buildings/constant_signal"; import { enumCutterVariants, MetaCutterBuilding } from "./buildings/cutter"; import { MetaDisplayBuilding } from "./buildings/display"; -import { MetaLeverBuilding } from "./buildings/lever"; +import { MetaFilterBuilding } from "./buildings/filter"; import { MetaLogicGateBuilding } from "./buildings/logic_gate"; import { enumMinerVariants, MetaMinerBuilding } from "./buildings/miner"; import { MetaMixerBuilding } from "./buildings/mixer"; @@ -46,7 +46,6 @@ export const enumHubGoalRewardsToContentUnlocked = { [enumHubGoalRewards.reward_merger]: typed([[MetaBalancerBuilding, enumBalancerVariants.merger]]), [enumHubGoalRewards.reward_cutter_quad]: typed([[MetaCutterBuilding, enumCutterVariants.quad]]), [enumHubGoalRewards.reward_painter_double]: typed([[MetaPainterBuilding, enumPainterVariants.double]]), - [enumHubGoalRewards.reward_painter_quad]: typed([[MetaPainterBuilding, enumPainterVariants.quad]]), [enumHubGoalRewards.reward_storage]: typed([[MetaStorageBuilding, defaultBuildingVariant]]), [enumHubGoalRewards.reward_belt_reader]: typed([[MetaReaderBuilding, defaultBuildingVariant]]), @@ -55,15 +54,17 @@ export const enumHubGoalRewardsToContentUnlocked = { [MetaConstantSignalBuilding, defaultBuildingVariant], ]), [enumHubGoalRewards.reward_logic_gates]: typed([[MetaLogicGateBuilding, defaultBuildingVariant]]), + [enumHubGoalRewards.reward_filter]: typed([[MetaFilterBuilding, defaultBuildingVariant]]), [enumHubGoalRewards.reward_virtual_processing]: null, // @TODO! - [enumHubGoalRewards.reward_wires_filters_and_levers]: typed([ - [MetaLeverBuilding, defaultBuildingVariant], + [enumHubGoalRewards.reward_wires_painter_and_levers]: typed([ + [MetaPainterBuilding, enumPainterVariants.quad], ]), [enumHubGoalRewards.reward_freeplay]: null, [enumHubGoalRewards.reward_blueprints]: null, [enumHubGoalRewards.no_reward]: null, [enumHubGoalRewards.no_reward_freeplay]: null, + [enumHubGoalRewards.reward_demo_end]: null, }; if (G_IS_DEV) { diff --git a/src/js/game/upgrades.js b/src/js/game/upgrades.js index f8f4f1eb..14422cb2 100644 --- a/src/js/game/upgrades.js +++ b/src/js/game/upgrades.js @@ -1,18 +1,19 @@ import { findNiceIntegerValue } from "../core/utils"; import { ShapeDefinition } from "./shape_definition"; +export const preparementShape = "CpRpCp--:SwSwSwSw"; export const finalGameShape = "RuCw--Cw:----Ru--"; export const rocketShape = "CbCuCbCu:Sr------:--CrSrCr:CwCwCwCw"; export const blueprintShape = "CbCbCbRb:CwCwCwCw"; -const fixedImprovements = [0.5, 0.5, 1, 1, 2, 2]; +const fixedImprovements = [0.5, 0.5, 1, 1, 2, 1, 1]; const numEndgameUpgrades = G_IS_DEV || G_IS_STANDALONE ? 20 - fixedImprovements.length - 1 : 0; function generateEndgameUpgrades() { return new Array(numEndgameUpgrades).fill(null).map((_, i) => ({ required: [ - { shape: blueprintShape, amount: 30000 + i * 10000 }, + { shape: preparementShape, amount: 30000 + i * 10000 }, { shape: finalGameShape, amount: 20000 + i * 5000 }, { shape: rocketShape, amount: 20000 + i * 5000 }, ], @@ -56,7 +57,14 @@ export const UPGRADES = { required: [{ shape: "SrSrSrSr:CyCyCyCy:SwSwSwSw", amount: 25000 }], }, { - required: [{ shape: finalGameShape, amount: 50000 }], + required: [{ shape: preparementShape, amount: 25000 }], + excludePrevious: true, + }, + { + required: [ + { shape: preparementShape, amount: 25000 }, + { shape: finalGameShape, amount: 50000 }, + ], excludePrevious: true, }, ...generateEndgameUpgrades(), @@ -79,7 +87,14 @@ export const UPGRADES = { required: [{ shape: "CbRbRbCb:CwCwCwCw:WbWbWbWb", amount: 50000 }], }, { - required: [{ shape: finalGameShape, amount: 50000 }], + required: [{ shape: preparementShape, amount: 25000 }], + excludePrevious: true, + }, + { + required: [ + { shape: preparementShape, amount: 25000 }, + { shape: finalGameShape, amount: 50000 }, + ], excludePrevious: true, }, ...generateEndgameUpgrades(), @@ -102,7 +117,14 @@ export const UPGRADES = { required: [{ shape: "WrRgWrRg:CwCrCwCr:SgSgSgSg", amount: 50000 }], }, { - required: [{ shape: finalGameShape, amount: 50000 }], + required: [{ shape: preparementShape, amount: 25000 }], + excludePrevious: true, + }, + { + required: [ + { shape: preparementShape, amount: 25000 }, + { shape: finalGameShape, amount: 50000 }, + ], excludePrevious: true, }, ...generateEndgameUpgrades(), @@ -125,7 +147,14 @@ export const UPGRADES = { required: [{ shape: "WpWpWpWp:CwCwCwCw:WpWpWpWp:CwCwCwCw", amount: 50000 }], }, { - required: [{ shape: finalGameShape, amount: 50000 }], + required: [{ shape: preparementShape, amount: 25000 }], + excludePrevious: true, + }, + { + required: [ + { shape: preparementShape, amount: 25000 }, + { shape: finalGameShape, amount: 50000 }, + ], excludePrevious: true, }, ...generateEndgameUpgrades(), diff --git a/src/js/platform/browser/game_analytics.js b/src/js/platform/browser/game_analytics.js index 52497ef7..ea23509b 100644 --- a/src/js/platform/browser/game_analytics.js +++ b/src/js/platform/browser/game_analytics.js @@ -8,6 +8,7 @@ import { blueprintShape, UPGRADES } from "../../game/upgrades"; import { tutorialGoals } from "../../game/tutorial_goals"; import { BeltComponent } from "../../game/components/belt"; import { StaticMapEntityComponent } from "../../game/components/static_map_entity"; +import { queryParamOptions } from "../../core/query_parameters"; const logger = createLogger("game_analytics"); @@ -24,6 +25,9 @@ export class ShapezGameAnalytics extends GameAnalyticsInterface { } if (G_IS_STANDALONE) { + if (queryParamOptions.sandboxMode) { + return "steam-sandbox"; + } return "steam"; } @@ -31,7 +35,17 @@ export class ShapezGameAnalytics extends GameAnalyticsInterface { return "prod"; } - return "beta"; + if (window.location.host.indexOf("alpha") >= 0) { + if (queryParamOptions.sandboxMode) { + return "alpha-sandbox"; + } + return "alpha"; + } else { + if (queryParamOptions.sandboxMode) { + return "beta-sandbox"; + } + return "beta"; + } } /** diff --git a/src/js/states/main_menu.js b/src/js/states/main_menu.js index 02c1e690..b8191306 100644 --- a/src/js/states/main_menu.js +++ b/src/js/states/main_menu.js @@ -312,7 +312,7 @@ export class MainMenuState extends GameState { onSteamLinkClicked() { this.app.analytics.trackUiClick("main_menu_steam_link_2"); - this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.standaloneStorePage); + this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.standaloneStorePage + "?ref=mmsl2"); return false; } @@ -537,7 +537,7 @@ export class MainMenuState extends GameState { ); getStandalone.add(() => { this.app.analytics.trackUiClick("visit_steampage_from_slot_limit"); - this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.standaloneStorePage); + this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.standaloneStorePage + "?reF=ssll"); }); } diff --git a/src/js/states/mobile_warning.js b/src/js/states/mobile_warning.js index a48a69ed..98eb1cd8 100644 --- a/src/js/states/mobile_warning.js +++ b/src/js/states/mobile_warning.js @@ -21,7 +21,7 @@ export class MobileWarningState extends GameState { Get the shapez.io standalone! `; } diff --git a/translations/base-ar.yaml b/translations/base-ar.yaml index ac7f0c20..5788fa3e 100644 --- a/translations/base-ar.yaml +++ b/translations/base-ar.yaml @@ -2,7 +2,6 @@ steamPage: shortText: shapez.io is a game about building factories to automate the creation and processing of increasingly complex shapes across an infinitely expanding map. - discordLink: Official Discord - Chat with me! longText: >- [img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img] @@ -57,6 +56,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url] [/list] + discordLinkShort: Official Discord global: loading: Loading error: Error @@ -208,6 +208,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Move @@ -345,6 +350,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Belts, Distributor & Tunnels @@ -363,6 +400,7 @@ buildings: deliver: Deliver toUnlock: to unlock levelShortcut: LVL + endOfDemo: End of Demo belt: default: name: Conveyor Belt @@ -544,6 +582,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Cutting Shapes @@ -606,10 +649,6 @@ storyRewards: desc: You have unlocked a variant of the painter - It works as the regular painter but processes two shapes at once consuming just one color instead of two! - reward_painter_quad: - title: Quad Painting - desc: You have unlocked a variant of the painter - It allows - you to paint each part of the shape individually! reward_storage: title: Storage Buffer desc: You have unlocked a variant of the trash - It allows you @@ -653,13 +692,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -687,6 +719,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Settings categories: @@ -907,7 +956,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -916,6 +964,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: About this Game body: >- @@ -1000,3 +1050,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-cat.yaml b/translations/base-cat.yaml index 9dd78bc8..07db5caf 100644 --- a/translations/base-cat.yaml +++ b/translations/base-cat.yaml @@ -2,7 +2,6 @@ steamPage: shortText: shapez.io és un joc que té com a objectiu construir i automatitzar fàbriques per tal de produir figures cada cop més complexes en un mapa infinit. - discordLink: Discord Oficial (en Anglès) longText: >- [img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img] @@ -57,6 +56,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url] [/list] + discordLinkShort: Official Discord global: loading: Carregant error: Error @@ -213,6 +213,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Moure @@ -352,6 +357,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Cintes transportadores, Distribuidors i Túnels @@ -370,6 +407,7 @@ buildings: deliver: Envia toUnlock: per a desbloquejar levelShortcut: NVL + endOfDemo: End of Demo belt: default: name: Cinta transportadora @@ -551,6 +589,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Tallar figures @@ -616,10 +659,6 @@ storyRewards: desc: Has desbloquejat una variant del pintor - Funciona com el pintor regular però processa dos figures alhora, consumint sols un color en lloc de dos! - reward_painter_quad: - title: Pintor quàdruple - desc: Has desbloquejat una variant del pintor - Et permet - pintar cada part de la figura individualment! reward_storage: title: Magatzem de reserva desc: Has desbloquejat una variant de la paperera - Et permet @@ -666,13 +705,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -700,6 +732,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Opcions categories: @@ -924,7 +973,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -933,6 +981,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Sobre aquest Joc body: >- @@ -1017,3 +1067,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-cz.yaml b/translations/base-cz.yaml index 35429076..ba77b5d0 100644 --- a/translations/base-cz.yaml +++ b/translations/base-cz.yaml @@ -53,7 +53,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url] [/list] - discordLink: Official Discord - Chat with me! + discordLinkShort: Official Discord global: loading: Načítám error: Chyba @@ -206,6 +206,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Posun mapy @@ -334,15 +339,47 @@ ingame: cyan: Tyrkysová white: Bílá uncolored: Bez barvy - black: Black + black: Černá shapeViewer: title: Vrstvy empty: Prázdné copyKey: Copy Key connectedMiners: - one_miner: 1 Miner - n_miners: Miners - limited_items: Limited to + one_miner: 1 Extraktor + n_miners: Extraktorů + limited_items: Limit je + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Pásy, distribuce & tunely @@ -361,6 +398,7 @@ buildings: deliver: Dodejte toUnlock: pro odemčení levelShortcut: LVL + endOfDemo: End of Demo belt: default: name: Dopravníkový pás @@ -400,8 +438,8 @@ buildings: name: Rotor (opačný) description: Otáčí tvary o 90 stupňů proti směru hodinových ručiček rotate180: - name: Rotate (180) - description: Rotates shapes by 180 degrees. + name: Rotor (180) + description: Otáčí tvary o 180 stupňů. stacker: default: name: Kombinátor @@ -433,114 +471,111 @@ buildings: name: Kabel description: Dovoluje přenos energie. second: - name: Wire - description: Transfers signals, which can be items, colors or booleans (1 / 0). - Different colored wires do not connect. + name: Kabel + description: Dovoluje přenos energie. balancer: default: - name: Balancer - description: Multifunctional - Evenly distributes all inputs onto all outputs. + name: Vyvažovač + description: Multifunkční - Rozděluje vstupy do výstupy. merger: - name: Merger (compact) - description: Merges two conveyor belts into one. + name: Spojka (kompaktní) + description: Spojí dva pásy do jednoho. merger-inverse: - name: Merger (compact) - description: Merges two conveyor belts into one. + name: Spojka (kompaktní) + description: Spojí dva pásy do jednoho. splitter: - name: Splitter (compact) - description: Splits one conveyor belt into two. + name: Rozdělovač (kompaktní) + description: Rozdělí jeden pás na dva. splitter-inverse: - name: Splitter (compact) - description: Splits one conveyor belt into two. + name: Rozdělovač (kompaktní) + description: Rozdělí jeden pás na dva. storage: default: - name: Storage - description: Stores excess items, up to a given capacity. Prioritizes the left - output and can be used as an overflow gate. + name: Sklad + description: Skladuje věci navíc až do naplnění kapacity. Může být použit na + skladová ní surovin navíc. wire_tunnel: default: - name: Wire Crossing - description: Allows to cross two wires without connecting them. + name: Křížení kabelů + description: Umožňuje křížení dvou kabeů bez jejich spojení. constant_signal: default: - name: Constant Signal - description: Emits a constant signal, which can be either a shape, color or - boolean (1 / 0). + name: Konstantní signál + description: Vydává konstantní signál, který může mít tvar, barvu nebo logickou + hodnotu (1 / 0). lever: default: - name: Switch - description: Can be toggled to emit a boolean signal (1 / 0) on the wires layer, - which can then be used to control for example an item filter. + name: Přepínač + description: Lze přepínat, aby vydával signál (1/0) na vrstvě vodičů, pomocí + kterého lze například ovládat filtr tvarů a barev. logic_gate: default: name: AND Gate - description: Emits a boolean "1" if both inputs are truthy. (Truthy means shape, - color or boolean "1") + description: Vysílá signál "1" pokud oba vstupy vysílají signál. not: name: NOT Gate - description: Emits a boolean "1" if the input is not truthy. (Truthy means - shape, color or boolean "1") + description: Vysílá signál "1" pokud oba vstupy nevysílají signál. xor: name: XOR Gate - description: Emits a boolean "1" if one of the inputs is truthy, but not both. - (Truthy means shape, color or boolean "1") + description: Vysílá signál "1" pokud jeden vstup vysílá signál, ale druhý vstup + nevysílá signál. or: name: OR Gate - description: Emits a boolean "1" if one of the inputs is truthy. (Truthy means - shape, color or boolean "1") + description: Vysílá signál "1" pokud jeden vstup vysílá signál. transistor: default: - name: Transistor - description: Forwards the bottom input if the side input is truthy (a shape, - color or "1"). + name: Tranzistor + description: Přeposílá spodní vstup, pokud boční vstup vysílá signál. mirrored: - name: Transistor - description: Forwards the bottom input if the side input is truthy (a shape, - color or "1"). + name: Tranzistor + description: Přeposílá spodní vstup, pokud boční vstup vysílá signál. filter: default: - name: Filter - description: Connect a signal to route all matching items to the top and the - remaining to the right. Can be controlled with boolean signals - too. + name: Filtr + description: Připojte signál k třídění tvarů a barev. display: default: name: Display - description: Connect a signal to show it on the display - It can be a shape, - color or boolean. + description: Připojte signál a zobrazte jej na displeji - může to být tvar nebo + barva. reader: default: - name: Belt Reader - description: Allows to measure the average belt throughput. Outputs the last - read item on the wires layer (once unlocked). + name: Čtečka pásů + description: Umožňuje měřit průměrnou propustnost pásu. Výstup čte poslední + položku ve vrstvě kabelů. analyzer: default: - name: Shape Analyzer - description: Analyzes the top right quadrant of the lowest layer of the shape - and returns its shape and color. + name: Analyzátor tvarů + description: Analyzuje pravou horní část nejnižší vrstvy tvaru a vrací tvar a + barvu. comparator: default: - name: Compare - description: Returns boolean "1" if both signals are exactly equal. Can compare - shapes, items and booleans. + name: Porovnávač + description: Vrátí signál „1“, pokud jsou oba signály přesně stejné. Může + srovnávat tvary, předměty a signály. virtual_processor: default: - name: Virtual Cutter - description: Virtually cuts the shape into two halves. + name: Virtuální pila + description: Virtuálně rozřízne tvar svisle na dvě části. rotater: - name: Virtual Rotater - description: Virtually rotates the shape, both clockwise and counter-clockwise. + name: Virtuální rotor + description: Virtuálně Otáčí tvary o 90 stupňů po směru hodinových ručiček. unstacker: - name: Virtual Unstacker - description: Virtually extracts the topmost layer to the right output and the - remaining ones to the left. + name: Virtuální extrahátor + description: Virtuálně extrahuje nejvyšší vrstvu do pravého výstupu a zbývající + do levé. stacker: - name: Virtual Stacker - description: Virtually stacks the right shape onto the left. + name: Virtuální kombinátor + description: Virtuálně Spojí tvary dohromady. Pokud nemohou být spojeny, pravý + tvar je položen na levý. painter: - name: Virtual Painter - description: Virtually paints the shape from the bottom input with the shape on - the right input. + name: Virtual barvič + description: Virtuálně obarví celý tvar v levém vstupu barvou z pravého vstupu. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Řezání tvarů @@ -600,10 +635,6 @@ storyRewards: desc: Odemknuli jste variantu barviče - Funguje stejně jako normální, ale nabarví dva tvary naráz pomocí jedné barvy! - reward_painter_quad: - title: Čtyřstranné barvení - desc: Odemknuli jste variantu painter - Umožní vám nabarvit - každou čtvrtinu tvaru jinou barvou! reward_storage: title: Sklad desc: Odemknuli jste variantu koše - Umožňuje vám skladovat @@ -648,13 +679,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -682,6 +706,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Nastavení categories: @@ -902,7 +943,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -911,6 +951,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: O hře body: >- @@ -995,3 +1037,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-da.yaml b/translations/base-da.yaml index b8cad180..4c746791 100644 --- a/translations/base-da.yaml +++ b/translations/base-da.yaml @@ -2,7 +2,6 @@ steamPage: shortText: shapez.io handler om at bygge fabrikker på en grænseløs spilleflade for automatisk at skabe og kombinere figurer, der i stigende grad bliver mere komplicerede. - discordLink: Officiel Discord - Snak lidt med mig! longText: >- [img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img] @@ -57,6 +56,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Kildekode (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Hjælp med at oversætte[/url] [/list] + discordLinkShort: Official Discord global: loading: Indlæser error: Fejl @@ -210,6 +210,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Bevæg dig @@ -347,6 +352,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Bælter, Fordelere & Tuneller @@ -365,6 +402,7 @@ buildings: deliver: Aflever toUnlock: for at få adgang til levelShortcut: NIV + endOfDemo: End of Demo belt: default: name: Transportbælte @@ -543,6 +581,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Klippe Figurer @@ -606,10 +649,6 @@ storyRewards: desc: Du har fået adgang til en variant af maleren - Den virker som en normal maler, men maler to figurer samtidig og bruger kun en farve i stedet for to. - reward_painter_quad: - title: Quad Maling - desc: Du har fået adgang til en variant af maleren - Den lader - dig male alle dele af en figur hver for sig! reward_storage: title: Opbevaringsbuffer desc: Du har fået adgang til en variant af skraldespanden - Den @@ -654,13 +693,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -688,6 +720,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Indstillinger categories: @@ -911,7 +960,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -920,6 +968,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Om dette spil body: >- @@ -1004,3 +1054,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-de.yaml b/translations/base-de.yaml index fcbc7a63..10adc5cc 100644 --- a/translations/base-de.yaml +++ b/translations/base-de.yaml @@ -1,7 +1,6 @@ steamPage: shortText: In shapez.io nutzt du die vorhandenen Ressourcen, um mit deinen Maschinen durch Kombination immer komplexere Formen zu erschaffen. - discordLink: Offizieller Discord - Hier kannst du mit mir schreiben! longText: >- [img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img] @@ -56,6 +55,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Quelltext (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Hilf beim Übersetzen[/url] [/list] + discordLinkShort: Official Discord global: loading: Laden error: Fehler @@ -212,6 +212,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Bewegen @@ -350,6 +355,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Förderbänder, Verteiler & Tunnel @@ -368,6 +405,7 @@ buildings: deliver: Liefere toUnlock: "Für folgende Belohnung:" levelShortcut: LVL + endOfDemo: End of Demo belt: default: name: Förderband @@ -551,6 +589,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Formen zerschneiden @@ -616,11 +659,6 @@ storyRewards: desc: Du hast eine neue Variante des Färbers freigeschaltet! Hiermit kannst du zwei Formen auf einmal färben und verbrauchst nur eine Farbe. - reward_painter_quad: - title: Färber (4-fach) - desc: Du hast eine neue Variante des Färbers freigeschaltet! Er - kann jedes Viertel einer Form einzeln färben, verbraucht aber auch - jeweils eine Farbe. reward_storage: title: Zwischenlager desc: Du hast eine neue Variante des Mülleimers freigeschaltet! @@ -669,13 +707,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -703,6 +734,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Einstellungen categories: @@ -929,7 +977,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -938,6 +985,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Über dieses Spiel body: >- @@ -1022,3 +1071,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-el.yaml b/translations/base-el.yaml index 26002a48..20835f77 100644 --- a/translations/base-el.yaml +++ b/translations/base-el.yaml @@ -54,7 +54,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Πηγαίος κώδικας (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Βοήθησε με μεταφράσεις[/url] [/list] - discordLink: Επίσημο Discord - Συνομίλησε μαζί μου! + discordLinkShort: Official Discord global: loading: Φόρτωση error: Σφάλμα @@ -216,6 +216,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Κίνηση @@ -356,6 +361,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Ιμάντες, Διανομείς & Σήραγγες @@ -446,6 +483,7 @@ buildings: deliver: Παράδωσε toUnlock: για να ξεκλειδώσεις levelShortcut: LVL + endOfDemo: End of Demo wire: default: name: Καλώδιο ενέργειας @@ -559,6 +597,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Κοπή σχημάτων @@ -627,10 +670,6 @@ storyRewards: desc: Ξεκλείδωσες μια παραλλαγή του Βαφέα - Λειτουργεί όπως ο κανονικός βαφέας, αλλά επεξεργάζεται δύο σχήματα ταυτόχρονα, καταναλώνοντας μόνο ένα χρώμα αντί για δύο! - reward_painter_quad: - title: Βαφέας Τετάρτων - desc: Ξεκλείδωσες μια παραλλαγή του Βαφέα - Σου επιτρέπει να - βάψεις κάθε τεταρτημόριο του σχήματος ξεχωριστά! reward_storage: title: Αποθηκευτικός χώρος desc: Ξεκλείδωσες μια παραλλαγή του Κάδου Απορριμμάτων - @@ -679,13 +718,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -713,6 +745,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Ρυθμίσεις categories: @@ -938,7 +987,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -947,6 +995,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Σχετικά με αυτό το παιχνίδι body: >- @@ -1038,3 +1088,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-en.yaml b/translations/base-en.yaml index d0f70ad8..d69c4c45 100644 --- a/translations/base-en.yaml +++ b/translations/base-en.yaml @@ -25,7 +25,7 @@ steamPage: shortText: shapez.io is a game about building factories to automate the creation and processing of increasingly complex shapes across an infinitely expanding map. # This is the text shown above the Discord link - discordLink: Official Discord - Chat with me! + discordLinkShort: Official Discord # This is the long description for the steam page - It is contained here so you can help to translate it, and I will regulary update the store page. # NOTICE: @@ -449,6 +449,49 @@ ingame: n_miners: Miners limited_items: Limited to + # Pops up in the demo every few minutes + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + + markers: + title: ∞ Markers + desc: Never get lost in your factory! + + wires: + title: Wires + desc: An entirely new dimension! + + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + + support: + title: Support me + desc: I develop it in my spare time! + # All shop upgrades shopUpgrades: belt: @@ -470,6 +513,7 @@ buildings: deliver: Deliver toUnlock: to unlock levelShortcut: LVL + endOfDemo: End of Demo belt: default: @@ -534,7 +578,7 @@ buildings: name: Rotate (CCW) description: Rotates shapes counter-clockwise by 90 degrees. rotate180: - name: Rotate (180) + name: Rotate (180°) description: Rotates shapes by 180 degrees. stacker: @@ -667,6 +711,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the wires layer on the regular layer. + storyRewards: # Those are the rewards gained from completing the store reward_cutter_and_trash: @@ -735,14 +784,8 @@ storyRewards: title: Double Painting desc: You have unlocked a variant of the painter - It works similar to the regular painter but processes two shapes at once, consuming just one color instead of two! - reward_painter_quad: - title: Quad Painting - desc: >- - You have unlocked a variant of the painter - It allows you to paint each part of the shape individually!

- Connect each slot you'd like to paint with a truthy signal (shape, item or boolean "1") on the wires layer! - reward_storage: - title: Storage Buffer + title: Storage desc: >- You have unlocked the storage building - It allows you to store items up to a given capacity!

It priorities the left output, so you can also use it as an overflow gate! @@ -752,20 +795,29 @@ storyRewards: desc: You can now copy and paste parts of your factory! Select an area (Hold CTRL, then drag with your mouse), and press 'C' to copy it.

Pasting it is not free, you need to produce blueprint shapes to afford it! (Those you just delivered). reward_rotater_180: - title: Rotater (180 degrees) - desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) + title: Rotater (180°) + desc: You just unlocked the 180 degrees rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: + reward_wires_painter_and_levers: title: >- - Wires: Filters & Levers + Wires & Quad Painter desc: >- - You just unlocked the wires layer! It is a separate layer on top of the regular layer and introduces a lot of new mechanics!

- Since it can be overwhelming a bit, I added a small tutorial - Be sure to have tutorials enabled in the settings! + You just unlocked the Wires Layer: It is a separate layer on top of the regular layer and introduces a lot of new mechanics!

+ For the beginning I unlocked you the Quad Painter - Connect the slots you would like to paint with on the wires layer!

+ To switch to the wires layer, press E. + + reward_filter: + title: >- + Item Filter + desc: >- + You unlocked the Item Filter! It will route items either to the top or the right output depending on whether they match the signal from the wires layer or not.

+ You can also pass in a boolean signal (1 / 0) to entirely activate or disable it. reward_display: title: Display desc: >- - You have unlocked the Display - Connect a signal on the wires layer to visualize its contents! + You have unlocked the Display - Connect a signal on the wires layer to visualize it!

+ PS: Did you notice the belt reader and storage output their last read item? Try showing it on a display! reward_constant_signal: title: Constant Signal @@ -809,6 +861,11 @@ storyRewards: Since the hub will require a throughput from now on, I highly recommend to build a machine which automatically delivers the requested shape!

The HUB outputs the requested shape on the wires layer, so all you have to do is to analyze it and automatically configure your factory based on that. + reward_demo_end: + title: End of Demo + desc: >- + You have reached the end of the demo version! + settings: title: Settings categories: @@ -1060,6 +1117,7 @@ keybindings: transistor: *transistor analyzer: *analyzer comparator: *comparator + item_producer: Item Producer (Sandbox) # --- pipette: Pipette @@ -1166,3 +1224,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-es.yaml b/translations/base-es.yaml index b6727e54..4f065668 100644 --- a/translations/base-es.yaml +++ b/translations/base-es.yaml @@ -2,7 +2,6 @@ steamPage: shortText: shapez.io es un juego sobre construir fábricas para automatizar la creación y combinación de figuras cada vez más complejas en un mapa infinito. - discordLink: Discord oficial - ¡Chatea conmigo! longText: >- [img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img] @@ -55,6 +54,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Código fuente (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Ayuda a traducir[/url] [/list] + discordLinkShort: Official Discord global: loading: Cargando error: Error @@ -211,6 +211,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Mover @@ -350,6 +355,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Cintas transportadoras, Distribuidores y Túneles @@ -368,6 +405,7 @@ buildings: deliver: Entregar toUnlock: para desbloquear levelShortcut: LVL + endOfDemo: End of Demo belt: default: name: Cinta Transportadora @@ -553,6 +591,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Cortador de figuras @@ -615,10 +658,6 @@ storyRewards: desc: Has desbloqueado una variante del pintor - ¡Funciona como un pintor normal pero procesa dos figuras a la vez, consumiendo solo un color en vez de dos! - reward_painter_quad: - title: Pintor cuádruple - desc: Has desbloqueado una variante del pintor - ¡Permite - pintar cada parte de una figura individualmente! reward_storage: title: Almacenamiento intermedio desc: Has desbloqueado una variante del basurero - ¡Permite @@ -666,13 +705,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -700,6 +732,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Opciones categories: @@ -923,7 +972,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -932,6 +980,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Sobre el juego body: >- @@ -1016,3 +1066,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-fi.yaml b/translations/base-fi.yaml index 46cba27b..cadfb0b3 100644 --- a/translations/base-fi.yaml +++ b/translations/base-fi.yaml @@ -54,7 +54,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url] [/list] - discordLink: Official Discord - Chat with me! + discordLinkShort: Official Discord global: loading: Ladataan error: Virhe @@ -208,6 +208,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Liiku @@ -346,6 +351,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Hihnat, Jakelija & Tunneli @@ -364,6 +401,7 @@ buildings: deliver: Toimita toUnlock: avataksesi levelShortcut: LVL + endOfDemo: End of Demo belt: default: name: Liukuhihna @@ -547,6 +585,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Muotojen Leikkaus @@ -608,10 +651,6 @@ storyRewards: desc: Avasit muodon Värjääjästä - Se toimii samanlailla kuin normaali värjääjä, mutta käsittelee kaksi muotoa kerrallaan käyttäen vain yhden värin kahden sijaan! - reward_painter_quad: - title: Neljäsosa Värjäys - desc: Avasit muodon Värjääjästä - Se sallii muodon eri osien - värjäämisen erikseen! reward_storage: title: Varasto Puskuri desc: Avasit muodon Roskiksesta - Se sallii resurssien @@ -656,13 +695,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -690,6 +722,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Asetukset categories: @@ -911,7 +960,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -920,6 +968,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Tietoja tästä pelistä body: >- @@ -1004,3 +1054,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-fr.yaml b/translations/base-fr.yaml index 212ecc55..a3bbe81a 100644 --- a/translations/base-fr.yaml +++ b/translations/base-fr.yaml @@ -2,7 +2,6 @@ steamPage: shortText: shapez.io est un jeu qui consiste à construire des usines pour automatiser la création et la combinaison de formes de plus en plus complexes sur une carte infinie. - discordLink: Discord officiel — Parlez avec moi ! longText: >- [img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img] @@ -57,6 +56,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Code source (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Aidez à traduire[/url] [/list] + discordLinkShort: Official Discord global: loading: Chargement error: Erreur @@ -216,6 +216,11 @@ dialogs: descItems: "Choose a pre-defined item:" descShortKey: ... or enter the short key of a shape (Which you can generate here) + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Déplacer @@ -354,6 +359,38 @@ ingame: one_miner: 1 extracteur n_miners:  extracteurs limited_items: Limité à + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Convoyeurs, distributeurs et tunnels @@ -372,6 +409,7 @@ buildings: deliver: Livrez toUnlock: pour débloquer levelShortcut: NV + endOfDemo: End of Demo belt: default: name: Convoyeur @@ -562,6 +600,11 @@ buildings: painter: name: Peintre virtuel description: Peint virtuellement la forme du bas avec la couleur de droite. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Découpage de formes @@ -647,13 +690,6 @@ storyRewards: fonctionne comme le peintre de base, mais elle permet de traiter deux formes à la fois en ne consommant qu’une couleur au lieu de deux ! - reward_painter_quad: - title: Quadruple peintre - desc: Vous avez débloqué une variante du peintre — Elle permet - de colorier chaque partie d’une forme individuellement ! Connectez - chaque emplacement que vous souhaitez peindre avec un signal - vrai (forme, élément ou booléen "1") sur le calque de - câblage ! reward_storage: title: Tampon de stockage desc: Vous avez débloqué le bâtiment de stockage. Il permet de @@ -672,13 +708,6 @@ storyRewards: title: Retourneur desc: Vous venez de déverrouiller le retourneur ! Il vous permet de faire pivoter une forme de 180 degrés (Surprise ! :D) - reward_wires_filters_and_levers: - title: "Wires: Filtres & Interrupteurs" - desc: Vous venez de déverrouiller le calque de câblage ! Il - s'agit d'un calque séparé au-dessus du calque normal qui introduit - de nombreuses nouvelles mécaniques !

Comme cela peut être un - peu impressionnant, j'ai ajouté un petit tutoriel. Assurez-vous - d'avoir les tutoriels activés dans les paramètres ! reward_display: title: Afficheur desc: Vous avez déverrouillé l'afficheur ! Connectez-y un câble @@ -724,6 +753,23 @@ storyRewards: ne demandera que de faibles quantités, je recommande fortement de construire une machine qui délivre automatiquement la forme demandée ! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Options categories: @@ -939,7 +985,6 @@ keybindings: constant_signal: Constante logic_gate: Porte logique lever: Interrupteur (normal) - lever_wires: Interrupteur (à câbles) filter: Filtre wire_tunnel: Tunnel à câble display: Afficheur @@ -964,6 +1009,8 @@ keybindings: placementDisableAutoOrientation: Désactiver l’orientation automatique placeMultiple: Rester en mode placement placeInverse: Inverser le mode d’orientation automatique + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: À propos de ce jeu body: >- @@ -1067,3 +1114,4 @@ tips: endroit. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-hr.yaml b/translations/base-hr.yaml index 50382313..e777e0ee 100644 --- a/translations/base-hr.yaml +++ b/translations/base-hr.yaml @@ -53,7 +53,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url] [/list] - discordLink: Official Discord - Chat with me! + discordLinkShort: Official Discord global: loading: Učitavanje error: Greška @@ -205,6 +205,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Kretanje @@ -342,6 +347,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Trake, Distributer i Tuneli @@ -360,6 +397,7 @@ buildings: deliver: Dostavi toUnlock: kako bi otključao levelShortcut: LVL + endOfDemo: End of Demo belt: default: name: Pokretna Traka @@ -538,6 +576,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Rezanje Oblika @@ -596,10 +639,6 @@ storyRewards: desc: You have unlocked a variant of the painter - It works as the regular painter but processes two shapes at once consuming just one color instead of two! - reward_painter_quad: - title: Quad Painting - desc: You have unlocked a variant of the painter - It allows to - paint each part of the shape individually! reward_storage: title: Storage Buffer desc: You have unlocked a variant of the trash - It allows to @@ -643,13 +682,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -677,6 +709,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Postavke categories: @@ -895,7 +944,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -904,6 +952,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: O Igri body: >- @@ -988,3 +1038,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-hu.yaml b/translations/base-hu.yaml index 1af195f1..af291558 100644 --- a/translations/base-hu.yaml +++ b/translations/base-hu.yaml @@ -2,7 +2,6 @@ steamPage: shortText: A shapez.io-ban gyárak építésével kell automatizálni az egyre összetettebb alakzatok gyártását és kombinálását egy végtelen méretű térképen. - discordLink: Hivatalos Discord - Beszélgessünk! longText: >- [img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img] @@ -57,6 +56,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Forráskód (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Segíts lefordítani[/url] [/list] + discordLinkShort: Official Discord global: loading: Betöltés error: Hiba @@ -213,6 +213,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Mozgatás @@ -350,6 +355,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Futószalagok, Elosztók & Alagutak @@ -368,6 +405,7 @@ buildings: deliver: Deliver toUnlock: to unlock levelShortcut: LVL + endOfDemo: End of Demo belt: default: name: Futószalag @@ -552,6 +590,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Cutting Shapes @@ -613,10 +656,6 @@ storyRewards: desc: You have unlocked a variant of the painter - It works as the regular painter but processes two shapes at once consuming just one color instead of two! - reward_painter_quad: - title: Quad Painting - desc: You have unlocked a variant of the painter - It allows to - paint each part of the shape individually! reward_storage: title: Storage Buffer desc: You have unlocked a variant of the trash - It allows to @@ -660,13 +699,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -694,6 +726,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Beállítások categories: @@ -914,7 +963,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -923,6 +971,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: A játékról body: >- @@ -1007,3 +1057,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-ind.yaml b/translations/base-ind.yaml index 5b821ea3..c635b58b 100644 --- a/translations/base-ind.yaml +++ b/translations/base-ind.yaml @@ -2,7 +2,6 @@ steamPage: shortText: Shapez.io adalah game tentang membangun pabrik untuk mengotomatiskan pembuatan dan pemrosesan bentuk-bentuk yang semakin kompleks di peta yang meluas tanpa batas. - discordLink: Tautan Resmi Discord – Mari mengobrol dengan saya! longText: >- [img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img] @@ -57,6 +56,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url] [/list] + discordLinkShort: Official Discord global: loading: Sedang memuat error: Terjadi kesalahan @@ -215,6 +215,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Pindahkan @@ -357,6 +362,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Sabuk konveyor, Pembagi Arus & Terowongan @@ -375,6 +412,7 @@ buildings: deliver: Kirim toUnlock: untuk membuka levelShortcut: LVL + endOfDemo: End of Demo belt: default: name: Sabuk Konveyor @@ -562,6 +600,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Memotong Bentuk @@ -630,11 +673,6 @@ storyRewards: desc: Anda telah membuka varian dari pencat - Ia bekerja seperti pencat biasa namun dapat memproses dua bentuk sekaligus mengonsumsi hanya satu warna daripada dua! - reward_painter_quad: - title: Pengecatan Empat Bagian - desc: Anda telah membuka varian dari pencat - Ia memungkinkan - Anda untuk mencat setiap bagian dari masing-masing bentuk - sendiri-sendiri! reward_storage: title: Penyangga Penyimpanan desc: Anda telah membuka varian dari tong sampah - Ia @@ -684,13 +722,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -718,6 +749,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Pengaturan categories: @@ -945,7 +993,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -954,6 +1001,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Tentang permainan ini body: >- @@ -1038,3 +1087,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-it.yaml b/translations/base-it.yaml index 1a55def7..97e7b541 100644 --- a/translations/base-it.yaml +++ b/translations/base-it.yaml @@ -56,7 +56,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Codice sorgente(GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Aiuto per le traduzioni[/url] [/list] - discordLink: Server ufficiale Discord - Chatta con me! + discordLinkShort: Official Discord global: loading: Caricamento error: Errore @@ -214,6 +214,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Sposta @@ -352,6 +357,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Nastri, distribuzione e tunnel @@ -441,6 +478,7 @@ buildings: deliver: Consegna toUnlock: per sbloccare levelShortcut: LVL + endOfDemo: End of Demo wire: default: name: Cavo energetico @@ -554,6 +592,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Taglio forme @@ -611,10 +654,6 @@ storyRewards: desc: Hai sbloccato una variante della verniciatrice - Funziona come una normale verniciatrice, ma processa due forme alla volta consumando solo un'unità di colore invece che due! - reward_painter_quad: - title: Verniciatrice - desc: Hai sbloccato una variante della verniciatrice - Consente - di verniciare ogni parte della forma indipendentemente! reward_storage: title: Unità di stoccaggio desc: Hai sbloccato una variante del cestino - Consente di @@ -667,13 +706,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -701,6 +733,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Impostazioni categories: @@ -926,7 +975,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -935,6 +983,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Riguardo questo gioco body: >- @@ -1019,3 +1069,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-ja.yaml b/translations/base-ja.yaml index 941ddbda..8c10a944 100644 --- a/translations/base-ja.yaml +++ b/translations/base-ja.yaml @@ -52,7 +52,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]ソースコード(GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]翻訳に参加[/url] [/list] - discordLink: 公式Discord - 私と話せます! + discordLinkShort: Official Discord global: loading: ロード中 error: エラー @@ -191,6 +191,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: マップ移動 @@ -323,6 +328,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: ベルト、ディストリビュータ & トンネル @@ -341,6 +378,7 @@ buildings: deliver: 納品 toUnlock: 解除 levelShortcut: レベル + endOfDemo: End of Demo belt: default: name: コンベアベルト @@ -514,6 +552,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: 形の切断 @@ -561,9 +604,6 @@ storyRewards: title: 着色機 (ダブル) desc: 着色機のバリエーションが利用可能になりました。 - 通常の着色機と同様に機能しますが、ひとつの色の消費で一度に2つの形を着色処理できます! - reward_painter_quad: - title: 四分割着色 - desc: 着色機のバリエーションが利用可能になりました。 - 形のすべてのパーツを別の色で塗り分けることができます! reward_storage: title: 余剰の貯蓄 desc: ゴミ箱のバリエーションが利用可能になりました。 - 容量上限までアイテムを格納することができます! @@ -601,13 +641,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -635,6 +668,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: 設定 categories: @@ -839,7 +889,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -848,6 +897,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: このゲームについて body: >- @@ -931,3 +982,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-kor.yaml b/translations/base-kor.yaml index 5177c370..1414fa43 100644 --- a/translations/base-kor.yaml +++ b/translations/base-kor.yaml @@ -52,7 +52,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]소스 코드 (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]번역을 도와주세요![/url] [/list] - discordLink: 공식 디스코드 - 채팅해요! + discordLinkShort: Official Discord global: loading: 로딩중 error: 에러 @@ -194,6 +194,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: 움직이기 @@ -325,6 +330,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: 컨베이어 벨트, 배분기, 터널 @@ -343,6 +380,7 @@ buildings: deliver: 목표 toUnlock: 보상 levelShortcut: 레벨 + endOfDemo: End of Demo belt: default: name: 컨베이어 벨트 @@ -517,6 +555,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: 절단기 @@ -566,9 +609,6 @@ storyRewards: title: 색칠기 (2단) desc: 새로운 종류의 색칠기가 잠금 해제되었습니다! 새 색칠기는 색소 하나로 2개의 도형을 색칠할 수 있습니다. - reward_painter_quad: - title: 색칠기 (4단) - desc: 4단 도형 색칠기가 잠금 해제되었습니다! 도형의 4분단을 각각 다른 색으로 색칠할 수 있습니다! reward_storage: title: 저장소 desc: 저장소가 잠금 해제되었습니다! 주어진 용량만큼 자원을 저장할 수 있습니다! @@ -608,13 +648,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -642,6 +675,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: 설정 categories: @@ -847,7 +897,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -856,6 +905,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: 이 게임의 정보 body: >- @@ -939,3 +990,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-lt.yaml b/translations/base-lt.yaml index 8c496b3d..ade082ee 100644 --- a/translations/base-lt.yaml +++ b/translations/base-lt.yaml @@ -53,7 +53,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url] [/list] - discordLink: Official Discord - Chat with me! + discordLinkShort: Official Discord global: loading: Loading error: Error @@ -204,6 +204,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Move @@ -341,6 +346,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Belts, Distributor & Tunnels @@ -359,6 +396,7 @@ buildings: deliver: Deliver toUnlock: to unlock levelShortcut: LVL + endOfDemo: End of Demo belt: default: name: Conveyor Belt @@ -539,6 +577,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Cutting Shapes @@ -600,10 +643,6 @@ storyRewards: desc: You have unlocked a variant of the painter - It works as the regular painter but processes two shapes at once consuming just one color instead of two! - reward_painter_quad: - title: Quad Painting - desc: You have unlocked a variant of the painter - It allows to - paint each part of the shape individually! reward_storage: title: Storage Buffer desc: You have unlocked a variant of the trash - It allows to @@ -647,13 +686,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -681,6 +713,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Settings categories: @@ -901,7 +950,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -910,6 +958,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: About this Game body: >- @@ -994,3 +1044,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-nl.yaml b/translations/base-nl.yaml index 29458da3..da9e79e7 100644 --- a/translations/base-nl.yaml +++ b/translations/base-nl.yaml @@ -54,7 +54,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help met vertalen[/url] [/list] - discordLink: Officiële Discord - Chat met mij! + discordLinkShort: Official Discord global: loading: Laden error: Fout @@ -212,6 +212,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Beweeg speelveld @@ -350,6 +355,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Banden, Verdeler & Tunnels @@ -437,6 +474,7 @@ buildings: deliver: Lever toUnlock: om te ontgrendelen levelShortcut: LVL + endOfDemo: End of Demo wire: default: name: Energiekabel @@ -550,6 +588,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Vormen Knippen @@ -616,10 +659,6 @@ storyRewards: desc: Je hebt een variant van de verver ontgrendeld - Het werkt als de gewone verver, maar verft twee vormen tegelijk met één kleur in plaats van twee! - reward_painter_quad: - title: Quad verven - desc: Je hebt een variant van de verver ontgrendeld - Het verft - elk kwadrant van de vorm een andere kleur! reward_storage: title: Opslagbuffer desc: Je hebt een variant van de vuilnisbak ontgrendeld - Het @@ -667,13 +706,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -701,6 +733,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Opties categories: @@ -924,7 +973,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -933,6 +981,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Over dit spel body: >- @@ -1017,3 +1067,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-no.yaml b/translations/base-no.yaml index 7fcf4f43..6ac44f8c 100644 --- a/translations/base-no.yaml +++ b/translations/base-no.yaml @@ -54,7 +54,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Kildekode (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Hjelp til å oversette[/url] [/list] - discordLink: Offisiell Discord - Chat med meg! + discordLinkShort: Official Discord global: loading: Laster error: Feil @@ -210,6 +210,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Beveg @@ -347,6 +352,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Belter, Distributører & Tunneler @@ -365,6 +402,7 @@ buildings: deliver: Lever toUnlock: for å låse opp levelShortcut: nivå + endOfDemo: End of Demo belt: default: name: Samlebånd @@ -550,6 +588,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Kutt Objekter @@ -612,10 +655,6 @@ storyRewards: desc: Du har åpnet en variant av maleren - Den fungerer som vanlig maler, men maler to objekter om gangen, konsumerer bare en farge istedenfor to! - reward_painter_quad: - title: 4-Veis Maling - desc: Du har åpnet en variant av maleren - Den lar deg male - hver del av objektet individuelt! reward_storage: title: Lagringsbuffer desc: Du har åpnet en variant av søpplekassen - Den lar deg @@ -661,13 +700,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -695,6 +727,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Instillinger categories: @@ -917,7 +966,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -926,6 +974,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Om dette spillet body: >- @@ -1010,3 +1060,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-pl.yaml b/translations/base-pl.yaml index a49736a0..3520e796 100644 --- a/translations/base-pl.yaml +++ b/translations/base-pl.yaml @@ -54,7 +54,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Kod źródłowy (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Pomóż w tłumaczeniu[/url] [/list] - discordLink: Oficjalny serwer Discord - Porozmawiaj ze mną! + discordLinkShort: Official Discord global: loading: Ładowanie error: Wystąpił błąd @@ -212,6 +212,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Ruch @@ -350,6 +355,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Taśmociągi, Dystrybutory & Tunele @@ -368,6 +405,7 @@ buildings: deliver: Dostarcz toUnlock: by odblokować levelShortcut: Poz. + endOfDemo: End of Demo belt: default: name: Taśmociąg @@ -550,6 +588,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Przecinanie Kształtów @@ -612,10 +655,6 @@ storyRewards: desc: Odblokowano nowy wariant Malarza - Działa jak zwykły malarz, z tą różnicą, że maluje dwa kształty na raz, pobierając wyłącznie jeden barwnik! - reward_painter_quad: - title: Poczwórne malowanie - desc: Odblokowano nowy wariant Malarza - Pozwala malować każdą - ćwiartkę kształtu na inny kolor! reward_storage: title: Magazyn desc: Odblokowano nowy wariant Kosza - Pozwala przechować pewną @@ -661,13 +700,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -695,6 +727,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Ustawienia categories: @@ -914,7 +963,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -923,6 +971,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: O Grze body: 'Ta gra jest open-source. Rozwijana jest przez - [img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img] @@ -56,6 +55,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Código fonte(GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Ajude a traduzir[/url] [/list] + discordLinkShort: Official Discord global: loading: Carregando error: Erro @@ -209,6 +209,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Mover @@ -347,6 +352,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Esteiras, Distribuidores e Túneis @@ -365,6 +402,7 @@ buildings: deliver: Entregue toUnlock: para desbloquear levelShortcut: LVL + endOfDemo: End of Demo belt: default: name: Esteira Transportadora @@ -548,6 +586,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Cortando formas @@ -611,10 +654,6 @@ storyRewards: desc: Você desbloqueou uma variante do pintor - funciona como o pintor regular, mas processa duas formas ao mesmo tempo, consumindo apenas uma cor em vez de duas! - reward_painter_quad: - title: Pintura quádrupla - desc: Você desbloqueou uma variante do pintor - permite pintar - cada parte da forma individualmente! reward_storage: title: Acúmulo de excesso desc: Você desbloqueou uma variante do lixo - Permite armazenar @@ -659,13 +698,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -693,6 +725,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Opções categories: @@ -917,7 +966,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -926,6 +974,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Sobre o jogo body: >- @@ -1010,3 +1060,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-pt-PT.yaml b/translations/base-pt-PT.yaml index d836112e..40ba7243 100644 --- a/translations/base-pt-PT.yaml +++ b/translations/base-pt-PT.yaml @@ -56,7 +56,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url] [/list] - discordLink: Discord oficial - Conversa comigo! + discordLinkShort: Official Discord global: loading: A carregar error: Erro @@ -215,6 +215,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Mover @@ -352,6 +357,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Tapetes, Distribuidores e Túneis @@ -440,6 +477,7 @@ buildings: deliver: Entrega toUnlock: para desbloquear levelShortcut: NVL + endOfDemo: End of Demo wire: default: name: Fio Elétrico @@ -553,6 +591,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Corte de formas @@ -617,10 +660,6 @@ storyRewards: desc: Desbloqueaste uma variante do Pintor - Funciona como um pintor normal mas processa duas formas ao mesmo tempo consumindo apenas uma cor em vez de duas! - reward_painter_quad: - title: Pintura quádrupla - desc: Desbloqueaste uma variante do Pintor - Permite pintar - cada parte da forma geométrica individualmente! reward_storage: title: Armazém desc: Desbloqueaste uma variante do Lixo - Permite armazenar @@ -665,13 +704,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -699,6 +731,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Definições categories: @@ -922,7 +971,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -931,6 +979,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Sobre o jogo body: >- @@ -1015,3 +1065,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-ro.yaml b/translations/base-ro.yaml index a5220fbe..aba618a5 100644 --- a/translations/base-ro.yaml +++ b/translations/base-ro.yaml @@ -54,7 +54,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url] [/list] - discordLink: Official Discord - Chat with me! + discordLinkShort: Official Discord global: loading: Se Încarcă error: Eroare @@ -211,6 +211,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Move @@ -349,6 +354,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Benzi, Distribuitor & Tunele @@ -439,6 +476,7 @@ buildings: deliver: Deliver toUnlock: pentru a debloca levelShortcut: LVL + endOfDemo: End of Demo wire: default: name: Energy Wire @@ -552,6 +590,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Tăierea formelor @@ -614,10 +657,6 @@ storyRewards: desc: Ai deblocat o variantă a Mașini de pictat - Funcționează la fel ca o mașină de pictat normală dar, procesează două forme odată consumând doar o culoare în loc de două! - reward_painter_quad: - title: Pictatul quadruplu - desc: Ai deblocat o variantă a Mașini de pictat - Ea permite să - pictezi fiecare parte a formei individual! reward_storage: title: Depozitul desc: Ai deblocat o variantă a gunoiului - El permite să @@ -664,13 +703,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -698,6 +730,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Setări categories: @@ -922,7 +971,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -931,6 +979,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Despre acest joc body: >- @@ -1015,3 +1065,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-ru.yaml b/translations/base-ru.yaml index 7ac4e31b..c4ee9767 100644 --- a/translations/base-ru.yaml +++ b/translations/base-ru.yaml @@ -53,7 +53,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Исходный код (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Помочь с переводом[/url] [/list] - discordLink: Официальный Discord - Общайся со мной! + discordLinkShort: Official Discord global: loading: Загрузка error: Ошибка @@ -212,6 +212,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Передвижение @@ -349,6 +354,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Конвейеры, Разделители & Туннели @@ -435,6 +472,7 @@ buildings: deliver: Доставить toUnlock: чтобы открыть levelShortcut: Ур. + endOfDemo: End of Demo wire: default: name: Энерг. провод @@ -548,6 +586,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Разрезание Фигур @@ -608,10 +651,6 @@ storyRewards: desc: Разблокирован вариант покрасчика - он работает как обычный покрасчик, но обрабатывает две фигуры одновременно, потребляя только один краситель вместо двух! - reward_painter_quad: - title: Покрасчик (4 Входа) - desc: Разблокирован вариант покрасчика - он позволяет отдельно - раскрашивать каждую четверть фигуры! reward_storage: title: Буферное Хранилище desc: Разблокирован вариант мусорки - он позволяет хранить @@ -656,13 +695,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -690,6 +722,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Настройки categories: @@ -917,7 +966,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -926,6 +974,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Об игре body: >- @@ -1010,3 +1060,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-sl.yaml b/translations/base-sl.yaml index 49328153..fc59b23a 100644 --- a/translations/base-sl.yaml +++ b/translations/base-sl.yaml @@ -2,7 +2,6 @@ steamPage: shortText: shapez.io je igra grajenja tovarne katere cilj je avtomatiziranje kreiranja in procesiranja vse bolj zapletenih oblik na neskončni ravnini. - discordLink: Uradni Discord - Pridruži se klepetu! longText: >- [img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img] @@ -53,6 +52,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Izvorna Koda (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Pomagaj pri prevodu[/url] [/list] + discordLinkShort: Official Discord global: loading: Loading error: Error @@ -204,6 +204,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Move @@ -341,6 +346,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Belts, Distributor & Tunnels @@ -359,6 +396,7 @@ buildings: deliver: Deliver toUnlock: to unlock levelShortcut: LVL + endOfDemo: End of Demo belt: default: name: Conveyor Belt @@ -540,6 +578,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Cutting Shapes @@ -602,10 +645,6 @@ storyRewards: desc: You have unlocked a variant of the painter - It works as the regular painter but processes two shapes at once consuming just one color instead of two! - reward_painter_quad: - title: Quad Painting - desc: You have unlocked a variant of the painter - It allows - you to paint each part of the shape individually! reward_storage: title: Storage Buffer desc: You have unlocked a variant of the trash - It allows you @@ -649,13 +688,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -683,6 +715,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Settings categories: @@ -903,7 +952,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -912,6 +960,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: About this Game body: >- @@ -996,3 +1046,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-sr.yaml b/translations/base-sr.yaml index 757e76ca..6e1753b4 100644 --- a/translations/base-sr.yaml +++ b/translations/base-sr.yaml @@ -1,7 +1,6 @@ steamPage: shortText: shapez.io je igra o pravljenju fabrika za automatizaciju stvaranja i spajanja sve složenijih oblika na beskonačno velikoj mapi. - discordLink: Oficijalni Discord server longText: >- [img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img] @@ -57,6 +56,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Izvorni kod (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Pomozite sa prevođenjem[/url] [/list] + discordLinkShort: Official Discord global: loading: Učitavanje error: Greška @@ -209,6 +209,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Kretanje @@ -346,6 +351,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Trake, Delioci i Tuneli @@ -364,6 +401,7 @@ buildings: deliver: Dostavite toUnlock: kako bi otključali levelShortcut: LVL + endOfDemo: End of Demo belt: default: name: Pokretna traka @@ -542,6 +580,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Rezanje Oblika @@ -600,10 +643,6 @@ storyRewards: desc: Varijacija farbača je otključana - Radi isti posao kao običan farbač, ali može ofarbati dva oblika odjednom po ceni jedne boje umesto dve! - reward_painter_quad: - title: Četvorostruki Farbač - desc: Varijacija farbača je otključana - Omogućava farbanje - pojedinačnih delova oblika! reward_storage: title: Skladište desc: Varijacija smeća je otključana - Omogućava skladištenje @@ -649,13 +688,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -683,6 +715,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Podešavanja categories: @@ -903,7 +952,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -912,6 +960,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: O Igri body: >- @@ -996,3 +1046,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-sv.yaml b/translations/base-sv.yaml index 565b097a..b19a0781 100644 --- a/translations/base-sv.yaml +++ b/translations/base-sv.yaml @@ -53,7 +53,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url] [/list] - discordLink: Official Discord - Chat with me! + discordLinkShort: Official Discord global: loading: Laddar error: Error @@ -211,6 +211,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Flytta @@ -348,6 +353,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Rullband, Distributörer & Tunnlar @@ -434,6 +471,7 @@ buildings: deliver: Leverera toUnlock: Att låsa upp levelShortcut: LVL + endOfDemo: End of Demo wire: default: name: Energy Wire @@ -547,6 +585,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Att klippa former @@ -611,10 +654,6 @@ storyRewards: fungerar som en vanlig färgläggare fast den färglägger två former åt gången och använder bara en färg istället för två! - reward_painter_quad: - title: Quad Färgläggning - desc: Du har låst upp en ny variant av Färgläggaren - Den låter - dig färglägga varje del av en form individuellt! reward_storage: title: Förvaringsbuffert desc: Du har låst upp en ny variant av skräphantering - Den @@ -661,13 +700,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -695,6 +727,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Inställningar categories: @@ -916,7 +965,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -925,6 +973,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Om detta spel body: >- @@ -1009,3 +1059,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-tr.yaml b/translations/base-tr.yaml index 35667dde..ed02b33e 100644 --- a/translations/base-tr.yaml +++ b/translations/base-tr.yaml @@ -54,7 +54,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]KAynak kodu (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Çevirmeye yardımcı olun[/url] [/list] - discordLink: Official Discord - Chat with me! + discordLinkShort: Official Discord global: loading: Yüklenİyor error: Hata @@ -210,6 +210,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Hareket Et @@ -346,6 +351,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Taşıma Bandı, Dağıtıcılar & Tüneller @@ -364,6 +401,7 @@ buildings: deliver: Teslİm et toUnlock: Açılacak levelShortcut: SVY + endOfDemo: End of Demo belt: default: name: Taşıma Bandı @@ -545,6 +583,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Şekİllerİ Kesmek @@ -610,10 +653,6 @@ storyRewards: desc: Boyayıcının başka bir türünü açtın - Sıradan bir boyayıcı gibi çalışır, fakat iki şekli birden boyayarak iki boya yerine sadece bir boya harcar! - reward_painter_quad: - title: Dörtlü Boyama - desc: Boyayıcının başka bir türünü açtın - Şeklin her parçasının - bağımsız olarak boyanmasını sağlar! reward_storage: title: Depo Sağlayıcı desc: Çöpün farklı bir türünü açtın - Bu tür belirli bir sınıra @@ -658,13 +697,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -692,6 +724,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Ayarlar categories: @@ -916,7 +965,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -925,6 +973,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Oyun Hakkında body: >- @@ -1009,3 +1059,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-uk.yaml b/translations/base-uk.yaml index d7fe0a0a..a7166c1a 100644 --- a/translations/base-uk.yaml +++ b/translations/base-uk.yaml @@ -1,7 +1,6 @@ steamPage: shortText: shapez.io — це гра про будування фабрик для автоматизації створення та обробки все більш складних форм на нескінченно розширюваній мапі. - discordLink: Офіційний Discord сервер — поговори зі мною! longText: >- [img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img] @@ -54,6 +53,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Вихідний код на GitHub[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Допоможіть з перекладом[/url] [/list] + discordLinkShort: Official Discord global: loading: Завантаження error: Помилка @@ -209,6 +209,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: Рухатися @@ -347,6 +352,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: Стрічки, розподілювачі і тунелі @@ -365,6 +402,7 @@ buildings: deliver: Доставте, toUnlock: щоб розблокувати levelShortcut: РІВ + endOfDemo: End of Demo belt: default: name: Конвеєрна стрічка @@ -547,6 +585,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: Різання фігур @@ -611,10 +654,6 @@ storyRewards: desc: Ви розблокували інший варіант фарбувача. Він працює як звичайний фарбувач, але обробляє дві фігури одночасно, споживаючи лише один колір замість двох! - reward_painter_quad: - title: Quad Painting - desc: Ви розблокували інший варіант фарбувача. Він дозволяє - фарбувати кожну частину форми індивідуально! reward_storage: title: Storage Buffer desc: Ви розблокували інший варіант trash - It allows you to @@ -659,13 +698,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -693,6 +725,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: Налаштування categories: @@ -916,7 +965,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -925,6 +973,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: Про гру body: >- @@ -1009,3 +1059,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-zh-CN.yaml b/translations/base-zh-CN.yaml index 3d8251ef..bae280d0 100644 --- a/translations/base-zh-CN.yaml +++ b/translations/base-zh-CN.yaml @@ -52,7 +52,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url] [/list] - discordLink: Official Discord - Chat with me! + discordLinkShort: Official Discord global: loading: 加载中 error: 错误 @@ -190,6 +190,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: 移动地图 @@ -319,6 +324,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: 传送带、平衡机、隧道 @@ -397,6 +434,7 @@ buildings: deliver: 交付 toUnlock: 来解锁 levelShortcut: LVL + endOfDemo: End of Demo wire: default: name: Energy Wire @@ -510,6 +548,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: 切割图形 @@ -548,9 +591,6 @@ storyRewards: reward_painter_double: title: 双倍上色机 desc: 恭喜!你解锁了上色机双倍变体。它可以同时为两个图形上色,每次只消耗一份颜色! - reward_painter_quad: - title: 四向上色机 - desc: 恭喜!你解锁了上色机四向变体。它可以在一个图形的四个角上涂不同的颜色! reward_storage: title: 仓库 desc: 恭喜!你解锁了垃圾桶的变体。他可以存储一定数量的物品! @@ -587,13 +627,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -621,6 +654,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: 设置 categories: @@ -823,7 +873,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -832,6 +881,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: 关于游戏 body: >- @@ -915,3 +966,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it. diff --git a/translations/base-zh-TW.yaml b/translations/base-zh-TW.yaml index e04f6fea..fc81a84e 100644 --- a/translations/base-zh-TW.yaml +++ b/translations/base-zh-TW.yaml @@ -53,7 +53,7 @@ steamPage: [*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url] [*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url] [/list] - discordLink: Official Discord - Chat with me! + discordLinkShort: Official Discord global: loading: 加載中 error: 錯誤 @@ -191,6 +191,11 @@ dialogs: renameSavegame: title: Rename Savegame desc: You can rename your savegame here. + entityWarning: + title: Performance Warning + desc: You have placed a lot of buildings, this is just a friendly reminder that + the game can not handle an endless count of buildings - So try to + keep your factories compact! ingame: keybindingsOverlay: moveMap: 移動 @@ -321,6 +326,38 @@ ingame: one_miner: 1 Miner n_miners: Miners limited_items: Limited to + watermark: + title: Demo version + desc: Click here to see the Steam version advantages! + get_on_steam: Get on steam + standaloneAdvantages: + title: Get the full version! + no_thanks: No, thanks! + points: + levels: + title: 12 New Levels + desc: For a total of 26 levels! + buildings: + title: 18 New Buildings + desc: Fully automate your factory! + savegames: + title: ∞ Savegames + desc: As many as your heart desires! + upgrades: + title: 20 Upgrade Tiers + desc: This demo version has only 5! + markers: + title: ∞ Markers + desc: Never get lost in your factory! + wires: + title: Wires + desc: An entirely new dimension! + darkmode: + title: Dark Mode + desc: Stop hurting your eyes! + support: + title: Support me + desc: I develop it in my spare time! shopUpgrades: belt: name: 傳送帶、平衡機、隧道 @@ -399,6 +436,7 @@ buildings: deliver: 交付 toUnlock: 來解鎖 levelShortcut: LVL + endOfDemo: End of Demo wire: default: name: Energy Wire @@ -512,6 +550,11 @@ buildings: name: Virtual Painter description: Virtually paints the shape from the bottom input with the shape on the right input. + item_producer: + default: + name: Item Producer + description: Available in sandbox mode only, outputs the given signal from the + wires layer on the regular layer. storyRewards: reward_cutter_and_trash: title: 切割圖形 @@ -553,9 +596,6 @@ storyRewards: title: 雙倍上色機 desc: 您已經解鎖了雙倍上色機的變體-它可以作為常規畫家使用,但一次只能處理兩個形狀,而只消耗一種顏色而不是兩種顏色! - reward_painter_quad: - title: 四向上色機 - desc: 上色機四向變體已解鎖。它可以在一個圖形的四個角上塗不同的顏色! reward_storage: title: 倉庫 desc: 倉庫變體已解鎖。它可以暫時儲存一些材料,有容量上限。 @@ -594,13 +634,6 @@ storyRewards: title: Rotater (180 degrees) desc: You just unlocked the 180 degress rotater! - It allows you to rotate a shape by 180 degress (Surprise! :D) - reward_wires_filters_and_levers: - title: "Wires: Filters & Levers" - desc: You just unlocked the wires layer! It is a separate layer - on top of the regular layer and introduces a lot of new - mechanics!

Since it can be overwhelming a bit, I added a - small tutorial - Be sure to have tutorials enabled - in the settings! reward_display: title: Display desc: You have unlocked the Display - Connect a signal on the @@ -628,6 +661,23 @@ storyRewards: shape requested by the HUB (I recommend to try it!).

- Build something cool with wires.

- Continue to play regulary.

Whatever you choose, remember to have fun! + reward_wires_painter_and_levers: + title: Wires & Quad Painter + desc: "You just unlocked the Wires Layer: It is a separate + layer on top of the regular layer and introduces a lot of new + mechanics!

For the beginning I unlocked you the Quad + Painter - Connect the slots you would like to paint with on + the wires layer!

To switch to the wires layer, press + E." + reward_filter: + title: Item Filter + desc: You unlocked the Item Filter! It will route items either + to the top or the right output depending on whether they match the + signal from the wires layer or not.

You can also pass in a + boolean signal (1 / 0) to entirely activate or disable it. + reward_demo_end: + title: End of Demo + desc: You have reached the end of the demo version! settings: title: 設置 categories: @@ -831,7 +881,6 @@ keybindings: constant_signal: Constant Signal logic_gate: Logic Gate lever: Switch (regular) - lever_wires: Switch (wires) filter: Filter wire_tunnel: Wire Crossing display: Display @@ -840,6 +889,8 @@ keybindings: transistor: Transistor analyzer: Shape Analyzer comparator: Compare + item_producer: Item Producer (Sandbox) + copyWireValue: "Wires: Copy value below cursor" about: title: 關於遊戲 body: >- @@ -923,3 +974,4 @@ tips: - To clear belts, cut the area and then paste it at the same location. - Press F4 to show your FPS and Tick Rate. - Press F4 twice to show the tile of your mouse and camera. + - You can click a pinned shape on the left side to unpin it.