Add sandbox building, restructure levels, show pinned shapes in constant signal dialog

This commit is contained in:
tobspr 2020-09-29 10:52:25 +02:00
parent fd3bbcdc20
commit db6db7caca
36 changed files with 499 additions and 312 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 KiB

View File

@ -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$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@ -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$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 KiB

After

Width:  |  Height:  |  Size: 286 KiB

View File

@ -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$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 706 KiB

After

Width:  |  Height:  |  Size: 723 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@ -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;

View File

@ -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"] {

View File

@ -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() {

View File

@ -0,0 +1,40 @@
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";
}
/**
* 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());
}
}

View File

@ -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() {

View File

@ -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;

View File

@ -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"} **/

View File

@ -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);
}
/**

View File

@ -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);
}
/**

View File

@ -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

View File

@ -0,0 +1,7 @@
import { Component } from "../component";
export class ItemProducerComponent extends Component {
static getId() {
return "ItemProducer";
}
}

View File

@ -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 */
}
}

View File

@ -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);

View File

@ -210,9 +210,7 @@ export class HubGoals extends BasicSerializableObject {
}
const required = 4 + (this.level - 27) * 0.25;
this.currentGoal = {
/** @type {ShapeDefinition} */
definition: this.computeFreeplayShape(this.level),
required,
reward: enumHubGoalRewards.no_reward_freeplay,

View File

@ -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,

View File

@ -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),
},
];

View File

@ -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("<level>", 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);

View File

@ -29,7 +29,7 @@ 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)) {
this.root.currentLayer = "wires";
}
} else {

View File

@ -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") },

View File

@ -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(

View File

@ -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)
),
],
});

View File

@ -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);
}
}
}

View File

@ -22,14 +22,14 @@ 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_blueprints: "reward_blueprints",
reward_freeplay: "reward_freeplay",
@ -194,15 +194,15 @@ export const tutorialGoals = [
{
shape: finalGameShape,
required: 25000,
reward: enumHubGoalRewards.reward_wires_filters_and_levers,
reward: enumHubGoalRewards.reward_wires_painter_and_levers,
},
// 21
// Display
// Filter
{
shape: "CrCrCrCr:CwCwCwCw:CrCrCrCr:CwCwCwCw",
shape: "CrCwCrCw:CwCrCwCr:CrCwCrCw:CwCrCwCr",
required: 25000,
reward: enumHubGoalRewards.reward_display,
reward: enumHubGoalRewards.reward_filter,
},
// 22
@ -214,11 +214,11 @@ export const tutorialGoals = [
},
// 23
// Quad Painter
// Display
{
shape: "CcSyCcSy:SyCcSyCc:CcSyCcSy",
required: 5000,
reward: enumHubGoalRewards.reward_painter_quad,
reward: enumHubGoalRewards.reward_display,
},
// 24 Logic gates
@ -238,7 +238,7 @@ export const tutorialGoals = [
// 26 Freeplay
{
shape: "CbCuCbCu:Sr------:--CrSrCr:CwCwCwCw",
required: 10000,
required: 50000,
reward: enumHubGoalRewards.reward_freeplay,
},
];

View File

@ -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,10 +54,11 @@ 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,

View File

@ -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(),

View File

@ -534,7 +534,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 +667,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 +740,8 @@ storyRewards:
title: Double Painting
desc: You have unlocked a variant of the <strong>painter</strong> - It works similar to the regular painter but processes <strong>two shapes at once</strong>, consuming just one color instead of two!
reward_painter_quad:
title: Quad Painting
desc: >-
You have unlocked a variant of the <strong>painter</strong> - It allows you to paint each part of the shape individually!<br><br>
Connect each slot you'd like to paint with a <strong>truthy signal</strong> (shape, item or boolean "1") on the wires layer!
reward_storage:
title: Storage Buffer
title: Storage
desc: >-
You have unlocked the <strong>storage</strong> building - It allows you to store items up to a given capacity!<br><br>
It priorities the left output, so you can also use it as an <strong>overflow gate</strong>!
@ -752,15 +751,23 @@ storyRewards:
desc: You can now <strong>copy and paste</strong> parts of your factory! Select an area (Hold CTRL, then drag with your mouse), and press 'C' to copy it.<br><br>Pasting it is <strong>not free</strong>, you need to produce <strong>blueprint shapes</strong> to afford it! (Those you just delivered).
reward_rotater_180:
title: Rotater (180 degrees)
desc: You just unlocked the 180 degress <strong>rotater</strong>! - It allows you to rotate a shape by 180 degress (Surprise! :D)
title: Rotater (180°)
desc: You just unlocked the 180 degrees <strong>rotater</strong>! - 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 <strong>wires layer</strong>! It is a separate layer on top of the regular layer and introduces a lot of new mechanics!<br><br>
Since it can be overwhelming a bit, I added a small tutorial - Be sure to have <strong>tutorials enabled</strong> in the settings!
You just unlocked the <strong>Wires Layer</strong>: It is a separate layer on top of the regular layer and introduces a lot of new mechanics!<br><br>
For the beginning I unlocked you the <strong>Quad Painter</strong> - Connect the slots you would like to paint with on the wires layer!<br><br>
To switch to the wires layer, press <strong>E</strong>.
reward_filter:
title: >-
Item Filter
desc: >-
You unlocked the <strong>Item Filter</strong>! 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.<br><br>
You can also pass in a boolean signal (1 / 0) to entirely activate or disable it.
reward_display:
title: Display
@ -1060,6 +1067,7 @@ keybindings:
transistor: *transistor
analyzer: *analyzer
comparator: *comparator
item_producer: Item Producer (Sandbox)
# ---
pipette: Pipette
@ -1166,3 +1174,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.