Start to optimize rendering

This commit is contained in:
tobspr 2020-08-15 19:43:03 +02:00
parent b1fb0fca7e
commit 7b40292be3
34 changed files with 550 additions and 463 deletions

View File

@ -18,7 +18,7 @@
},
"sprites/belt/built/forward_2.png":
{
"frame": {"x":123,"y":1854,"w":116,"h":144},
"frame": {"x":1540,"y":1139,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -26,7 +26,7 @@
},
"sprites/belt/built/forward_3.png":
{
"frame": {"x":243,"y":1854,"w":116,"h":144},
"frame": {"x":1803,"y":1118,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -34,7 +34,7 @@
},
"sprites/belt/built/forward_4.png":
{
"frame": {"x":363,"y":1854,"w":116,"h":144},
"frame": {"x":1923,"y":1156,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -42,7 +42,7 @@
},
"sprites/belt/built/forward_5.png":
{
"frame": {"x":483,"y":1854,"w":116,"h":144},
"frame": {"x":1801,"y":1266,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -50,7 +50,7 @@
},
"sprites/belt/built/forward_6.png":
{
"frame": {"x":603,"y":1854,"w":116,"h":144},
"frame": {"x":1921,"y":1304,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -58,7 +58,7 @@
},
"sprites/belt/built/forward_7.png":
{
"frame": {"x":807,"y":1248,"w":116,"h":144},
"frame": {"x":432,"y":1334,"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":807,"y":1396,"w":116,"h":144},
"frame": {"x":430,"y":1482,"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":807,"y":1544,"w":116,"h":144},
"frame": {"x":141,"y":1877,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -90,7 +90,7 @@
},
"sprites/belt/built/forward_11.png":
{
"frame": {"x":1918,"y":1156,"w":116,"h":144},
"frame": {"x":438,"y":1038,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -98,7 +98,7 @@
},
"sprites/belt/built/forward_12.png":
{
"frame": {"x":1924,"y":1438,"w":116,"h":144},
"frame": {"x":1542,"y":991,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -106,7 +106,7 @@
},
"sprites/belt/built/forward_13.png":
{
"frame": {"x":3,"y":1854,"w":116,"h":144},
"frame": {"x":437,"y":1186,"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":1811,"y":1304,"w":130,"h":130},
"frame": {"x":145,"y":1475,"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":1656,"y":1313,"w":130,"h":130},
"frame": {"x":3,"y":1575,"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":1763,"y":1572,"w":130,"h":130},
"frame": {"x":279,"y":1493,"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":1629,"y":1581,"w":130,"h":130},
"frame": {"x":137,"y":1609,"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":1897,"y":1586,"w":130,"h":130},
"frame": {"x":3,"y":1709,"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":1763,"y":1706,"w":130,"h":130},
"frame": {"x":271,"y":1627,"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":1897,"y":1720,"w":130,"h":130},
"frame": {"x":137,"y":1743,"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":3,"y":1715,"w":130,"h":130},
"frame": {"x":3,"y":1843,"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":137,"y":1715,"w":130,"h":130},
"frame": {"x":1379,"y":1274,"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":271,"y":1715,"w":130,"h":130},
"frame": {"x":1513,"y":1287,"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":1495,"y":1375,"w":130,"h":130},
"frame": {"x":1076,"y":1288,"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":1790,"y":1438,"w":130,"h":130},
"frame": {"x":927,"y":1295,"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":1629,"y":1447,"w":130,"h":130},
"frame": {"x":786,"y":1363,"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":1495,"y":1509,"w":130,"h":130},
"frame": {"x":552,"y":1416,"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":405,"y":1715,"w":130,"h":130},
"frame": {"x":1647,"y":1294,"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":539,"y":1715,"w":130,"h":130},
"frame": {"x":1781,"y":1414,"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":1195,"y":1492,"w":130,"h":130},
"frame": {"x":1344,"y":1408,"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":1061,"y":1548,"w":130,"h":130},
"frame": {"x":1195,"y":1520,"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":927,"y":1590,"w":130,"h":130},
"frame": {"x":1054,"y":1556,"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":1329,"y":1515,"w":130,"h":130},
"frame": {"x":1478,"y":1421,"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":1195,"y":1626,"w":130,"h":130},
"frame": {"x":1329,"y":1542,"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":1061,"y":1682,"w":130,"h":130},
"frame": {"x":1188,"y":1654,"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":927,"y":1724,"w":130,"h":130},
"frame": {"x":1612,"y":1428,"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":1463,"y":1643,"w":130,"h":130},
"frame": {"x":1463,"y":1555,"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":673,"y":1715,"w":130,"h":130},
"frame": {"x":1915,"y":1452,"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":927,"y":1322,"w":130,"h":130},
"frame": {"x":1210,"y":1386,"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":1061,"y":1414,"w":130,"h":130},
"frame": {"x":1061,"y":1422,"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":927,"y":1456,"w":130,"h":130},
"frame": {"x":920,"y":1429,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -338,7 +338,7 @@
},
"sprites/blueprints/belt_left.png":
{
"frame": {"x":1329,"y":1649,"w":130,"h":130},
"frame": {"x":1322,"y":1676,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -346,7 +346,7 @@
},
"sprites/blueprints/belt_right.png":
{
"frame": {"x":1195,"y":1760,"w":130,"h":130},
"frame": {"x":1746,"y":1548,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -354,7 +354,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":807,"y":1692,"w":116,"h":144},
"frame": {"x":261,"y":1877,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -386,7 +386,7 @@
},
"sprites/blueprints/display.png":
{
"frame": {"x":1539,"y":991,"w":128,"h":136},
"frame": {"x":1597,"y":1562,"w":128,"h":136},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":8,"w":128,"h":136},
@ -450,7 +450,7 @@
},
"sprites/blueprints/miner-chainable.png":
{
"frame": {"x":935,"y":1175,"w":136,"h":143},
"frame": {"x":150,"y":1035,"w":136,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":143},
@ -458,7 +458,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":1075,"y":1267,"w":136,"h":143},
"frame": {"x":150,"y":1182,"w":136,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":143},
@ -506,7 +506,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
"frame": {"x":551,"y":1100,"w":143,"h":144},
"frame": {"x":3,"y":1035,"w":143,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":143,"h":144},
@ -514,7 +514,7 @@
},
"sprites/blueprints/rotater-fl.png":
{
"frame": {"x":235,"y":1207,"w":142,"h":144},
"frame": {"x":1396,"y":979,"w":142,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":142,"h":144},
@ -522,7 +522,7 @@
},
"sprites/blueprints/rotater.png":
{
"frame": {"x":3,"y":1035,"w":143,"h":144},
"frame": {"x":290,"y":1060,"w":143,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":143,"h":144},
@ -530,7 +530,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
"frame": {"x":3,"y":1319,"w":142,"h":138},
"frame": {"x":1249,"y":988,"w":142,"h":138},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":142,"h":138},
@ -538,7 +538,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
"frame": {"x":949,"y":1033,"w":139,"h":138},
"frame": {"x":1094,"y":1146,"w":139,"h":138},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":2,"w":139,"h":138},
@ -578,7 +578,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
"frame": {"x":1528,"y":1131,"w":138,"h":125},
"frame": {"x":3,"y":1330,"w":138,"h":125},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":19,"w":138,"h":125},
@ -586,7 +586,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
"frame": {"x":1243,"y":1115,"w":138,"h":112},
"frame": {"x":3,"y":1459,"w":138,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":32,"w":138,"h":112},
@ -594,7 +594,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
"frame": {"x":1243,"y":999,"w":139,"h":112},
"frame": {"x":558,"y":1185,"w":139,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":139,"h":112},
@ -602,7 +602,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
"frame": {"x":1385,"y":1138,"w":138,"h":112},
"frame": {"x":1237,"y":1270,"w":138,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":138,"h":112},
@ -650,7 +650,7 @@
},
"sprites/blueprints/wire_tunnel.png":
{
"frame": {"x":1386,"y":999,"w":138,"h":135},
"frame": {"x":290,"y":1208,"w":138,"h":135},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":138,"h":135},
@ -658,7 +658,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":1811,"y":1304,"w":130,"h":130},
"frame": {"x":145,"y":1475,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -666,7 +666,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":405,"y":1715,"w":130,"h":130},
"frame": {"x":1647,"y":1294,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -746,7 +746,7 @@
},
"sprites/buildings/logic_gate-or.png":
{
"frame": {"x":382,"y":1123,"w":143,"h":123},
"frame": {"x":1396,"y":852,"w":143,"h":123},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":143,"h":123},
@ -762,7 +762,7 @@
},
"sprites/buildings/logic_gate-xor.png":
{
"frame": {"x":235,"y":1060,"w":143,"h":143},
"frame": {"x":3,"y":1183,"w":143,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":143,"h":143},
@ -770,7 +770,7 @@
},
"sprites/buildings/logic_gate.png":
{
"frame": {"x":3,"y":1183,"w":143,"h":132},
"frame": {"x":1249,"y":852,"w":143,"h":132},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":143,"h":132},
@ -778,7 +778,7 @@
},
"sprites/buildings/miner-chainable.png":
{
"frame": {"x":1215,"y":1346,"w":136,"h":142},
"frame": {"x":150,"y":1329,"w":136,"h":142},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":142},
@ -786,7 +786,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":1355,"y":1369,"w":136,"h":142},
"frame": {"x":290,"y":1347,"w":136,"h":142},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":142},
@ -834,7 +834,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
"frame": {"x":1249,"y":852,"w":141,"h":143},
"frame": {"x":1098,"y":999,"w":141,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":141,"h":143},
@ -842,7 +842,7 @@
},
"sprites/buildings/rotater-fl.png":
{
"frame": {"x":1394,"y":852,"w":141,"h":143},
"frame": {"x":949,"y":1033,"w":141,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":141,"h":143},
@ -850,7 +850,7 @@
},
"sprites/buildings/rotater.png":
{
"frame": {"x":1671,"y":1028,"w":141,"h":143},
"frame": {"x":1395,"y":1127,"w":141,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":141,"h":143},
@ -858,7 +858,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
"frame": {"x":1098,"y":999,"w":141,"h":136},
"frame": {"x":1243,"y":1130,"w":141,"h":136},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":3,"w":141,"h":136},
@ -906,7 +906,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":1092,"y":1139,"w":137,"h":124},
"frame": {"x":1660,"y":1166,"w":137,"h":124},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":20,"w":137,"h":124},
@ -914,7 +914,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":1233,"y":1231,"w":137,"h":111},
"frame": {"x":935,"y":1180,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":33,"w":137,"h":111},
@ -922,7 +922,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":1374,"y":1254,"w":137,"h":111},
"frame": {"x":786,"y":1248,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":137,"h":111},
@ -930,7 +930,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":1515,"y":1260,"w":137,"h":111},
"frame": {"x":557,"y":1301,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":137,"h":111},
@ -954,7 +954,7 @@
},
"sprites/buildings/wire-turn.png":
{
"frame": {"x":150,"y":1035,"w":81,"h":81},
"frame": {"x":706,"y":1122,"w":81,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":63,"w":81,"h":81},
@ -978,7 +978,7 @@
},
"sprites/buildings/wire_tunnel.png":
{
"frame": {"x":1670,"y":1175,"w":137,"h":134},
"frame": {"x":1662,"y":1028,"w":137,"h":134},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":5,"w":137,"h":134},
@ -986,7 +986,7 @@
},
"sprites/debug/acceptor_slot.png":
{
"frame": {"x":1107,"y":481,"w":12,"h":12},
"frame": {"x":1107,"y":447,"w":12,"h":12},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":12,"h":12},
@ -994,7 +994,7 @@
},
"sprites/debug/ejector_slot.png":
{
"frame": {"x":1107,"y":497,"w":12,"h":12},
"frame": {"x":1107,"y":463,"w":12,"h":12},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":12,"h":12},
@ -1034,7 +1034,7 @@
},
"sprites/misc/waypoint.png":
{
"frame": {"x":1816,"y":1169,"w":38,"h":48},
"frame": {"x":48,"y":1977,"w":38,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":38,"h":48},
@ -1042,18 +1042,18 @@
},
"sprites/wires/boolean_false.png":
{
"frame": {"x":1650,"y":556,"w":22,"h":29},
"frame": {"x":255,"y":954,"w":31,"h":41},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":11,"w":22,"h":29},
"spriteSourceSize": {"x":9,"y":5,"w":31,"h":41},
"sourceSize": {"w":48,"h":48}
},
"sprites/wires/boolean_true.png":
{
"frame": {"x":1107,"y":447,"w":17,"h":30},
"frame": {"x":1650,"y":556,"w":22,"h":41},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":10,"w":17,"h":30},
"spriteSourceSize": {"x":11,"y":5,"w":22,"h":41},
"sourceSize": {"w":48,"h":48}
},
"sprites/wires/display/blue.png":
@ -1106,7 +1106,7 @@
},
"sprites/wires/display/yellow.png":
{
"frame": {"x":1816,"y":1118,"w":47,"h":47},
"frame": {"x":90,"y":1977,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
@ -1138,7 +1138,7 @@
},
"sprites/wires/network_conflict.png":
{
"frame": {"x":1867,"y":1118,"w":47,"h":44},
"frame": {"x":271,"y":1810,"w":47,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":2,"w":47,"h":44},
@ -1146,7 +1146,7 @@
},
"sprites/wires/network_empty.png":
{
"frame": {"x":1867,"y":1166,"w":41,"h":48},
"frame": {"x":3,"y":1977,"w":41,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":41,"h":48},
@ -1178,7 +1178,7 @@
},
"sprites/wires/sets/color_split.png":
{
"frame": {"x":558,"y":1015,"w":144,"h":81},
"frame": {"x":290,"y":975,"w":144,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":63,"w":144,"h":81},
@ -1186,7 +1186,7 @@
},
"sprites/wires/sets/color_turn.png":
{
"frame": {"x":150,"y":1120,"w":81,"h":81},
"frame": {"x":701,"y":1207,"w":81,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":63,"w":81,"h":81},
@ -1210,7 +1210,7 @@
},
"sprites/wires/sets/conflict_split.png":
{
"frame": {"x":255,"y":975,"w":144,"h":81},
"frame": {"x":558,"y":1015,"w":144,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":63,"w":144,"h":81},
@ -1218,7 +1218,7 @@
},
"sprites/wires/sets/conflict_turn.png":
{
"frame": {"x":150,"y":1205,"w":81,"h":81},
"frame": {"x":701,"y":1292,"w":81,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":63,"w":81,"h":81},
@ -1250,7 +1250,7 @@
},
"sprites/wires/sets/regular_turn.png":
{
"frame": {"x":150,"y":1035,"w":81,"h":81},
"frame": {"x":706,"y":1122,"w":81,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":63,"w":81,"h":81},
@ -1274,7 +1274,7 @@
},
"sprites/wires/sets/shape_split.png":
{
"frame": {"x":403,"y":1038,"w":144,"h":81},
"frame": {"x":558,"y":1100,"w":144,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":63,"w":144,"h":81},
@ -1282,7 +1282,7 @@
},
"sprites/wires/sets/shape_turn.png":
{
"frame": {"x":150,"y":1290,"w":81,"h":81},
"frame": {"x":698,"y":1377,"w":81,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":63,"w":81,"h":81},
@ -1303,6 +1303,6 @@
"format": "RGBA8888",
"size": {"w":2048,"h":2048},
"scale": "0.75",
"smartupdate": "$TexturePacker:SmartUpdate:9bd368ae0b2aae72402b6bf839999ece:a43ffc40e72c7a025dd537be932491bf:908b89f5ca8ff73e331a35a3b14d0604$"
"smartupdate": "$TexturePacker:SmartUpdate:876f0711b44fa7bbab8d2539e9651766:ff01f850e086ef31c114b036c3a32e6d:908b89f5ca8ff73e331a35a3b14d0604$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -10,7 +10,7 @@
},
"sprites/belt/built/forward_1.png":
{
"frame": {"x":99,"y":854,"w":40,"h":48},
"frame": {"x":195,"y":828,"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":345,"y":763,"w":40,"h":48},
"frame": {"x":3,"y":959,"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":291,"y":810,"w":40,"h":48},
"frame": {"x":448,"y":705,"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":243,"y":837,"w":40,"h":48},
"frame": {"x":394,"y":752,"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":194,"y":855,"w":40,"h":48},
"frame": {"x":342,"y":762,"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":143,"y":883,"w":40,"h":48},
"frame": {"x":289,"y":795,"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":95,"y":906,"w":40,"h":48},
"frame": {"x":239,"y":836,"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":47,"y":911,"w":40,"h":48},
"frame": {"x":191,"y":880,"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":3,"y":922,"w":40,"h":48},
"frame": {"x":143,"y":883,"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":51,"y":859,"w":40,"h":48},
"frame": {"x":147,"y":831,"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":3,"y":870,"w":40,"h":48},
"frame": {"x":99,"y":862,"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":448,"y":700,"w":40,"h":48},
"frame": {"x":51,"y":870,"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":397,"y":747,"w":40,"h":48},
"frame": {"x":3,"y":907,"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":157,"y":639,"w":44,"h":44},
"frame": {"x":3,"y":667,"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":105,"y":662,"w":44,"h":44},
"frame": {"x":208,"y":636,"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":153,"y":687,"w":44,"h":44},
"frame": {"x":256,"y":640,"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":99,"y":710,"w":44,"h":44},
"frame": {"x":202,"y":684,"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":51,"y":715,"w":44,"h":44},
"frame": {"x":150,"y":687,"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":3,"y":726,"w":44,"h":44},
"frame": {"x":99,"y":718,"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":304,"y":666,"w":44,"h":44},
"frame": {"x":51,"y":726,"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":253,"y":693,"w":44,"h":44},
"frame": {"x":3,"y":763,"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":201,"y":711,"w":44,"h":44},
"frame": {"x":304,"y":651,"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":147,"y":735,"w":44,"h":44},
"frame": {"x":250,"y":688,"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":51,"y":667,"w":44,"h":44},
"frame": {"x":154,"y":639,"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":3,"y":678,"w":44,"h":44},
"frame": {"x":102,"y":670,"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":256,"y":645,"w":44,"h":44},
"frame": {"x":51,"y":678,"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":205,"y":663,"w":44,"h":44},
"frame": {"x":3,"y":715,"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":99,"y":758,"w":44,"h":44},
"frame": {"x":198,"y":732,"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":51,"y":763,"w":44,"h":44},
"frame": {"x":147,"y":735,"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":195,"y":759,"w":44,"h":44},
"frame": {"x":298,"y":699,"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":147,"y":783,"w":44,"h":44},
"frame": {"x":246,"y":736,"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":99,"y":806,"w":44,"h":44},
"frame": {"x":195,"y":780,"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":51,"y":811,"w":44,"h":44},
"frame": {"x":147,"y":783,"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":3,"y":822,"w":44,"h":44},
"frame": {"x":99,"y":814,"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":400,"y":699,"w":44,"h":44},
"frame": {"x":51,"y":822,"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":349,"y":715,"w":44,"h":44},
"frame": {"x":3,"y":859,"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":297,"y":762,"w":44,"h":44},
"frame": {"x":400,"y":704,"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":3,"y":774,"w":44,"h":44},
"frame": {"x":99,"y":766,"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":352,"y":667,"w":44,"h":44},
"frame": {"x":51,"y":774,"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":301,"y":714,"w":44,"h":44},
"frame": {"x":3,"y":811,"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":249,"y":741,"w":44,"h":44},
"frame": {"x":352,"y":666,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -338,7 +338,7 @@
},
"sprites/blueprints/belt_left.png":
{
"frame": {"x":243,"y":789,"w":44,"h":44},
"frame": {"x":346,"y":714,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -346,7 +346,7 @@
},
"sprites/blueprints/belt_right.png":
{
"frame": {"x":195,"y":807,"w":44,"h":44},
"frame": {"x":294,"y":747,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -354,7 +354,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":47,"y":963,"w":40,"h":48},
"frame": {"x":95,"y":914,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -362,7 +362,7 @@
},
"sprites/blueprints/constant_signal.png":
{
"frame": {"x":329,"y":386,"w":36,"h":43},
"frame": {"x":329,"y":390,"w":36,"h":43},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":36,"h":43},
@ -386,7 +386,7 @@
},
"sprites/blueprints/display.png":
{
"frame": {"x":3,"y":628,"w":44,"h":46},
"frame": {"x":106,"y":620,"w":44,"h":46},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":44,"h":46},
@ -410,7 +410,7 @@
},
"sprites/blueprints/logic_gate-not.png":
{
"frame": {"x":467,"y":648,"w":42,"h":48},
"frame": {"x":243,"y":784,"w":42,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":42,"h":48},
@ -418,7 +418,7 @@
},
"sprites/blueprints/logic_gate-or.png":
{
"frame": {"x":426,"y":602,"w":48,"h":42},
"frame": {"x":55,"y":500,"w":48,"h":42},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":42},
@ -442,7 +442,7 @@
},
"sprites/blueprints/logic_gate.png":
{
"frame": {"x":426,"y":553,"w":48,"h":45},
"frame": {"x":384,"y":566,"w":48,"h":45},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":45},
@ -458,7 +458,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":263,"y":593,"w":47,"h":48},
"frame": {"x":211,"y":584,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -538,7 +538,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
"frame": {"x":416,"y":648,"w":47,"h":47},
"frame": {"x":364,"y":615,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":47},
@ -546,7 +546,7 @@
},
"sprites/blueprints/splitter.png":
{
"frame": {"x":278,"y":334,"w":87,"h":48},
"frame": {"x":278,"y":338,"w":87,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":87,"h":48},
@ -570,7 +570,7 @@
},
"sprites/blueprints/trash.png":
{
"frame": {"x":277,"y":386,"w":48,"h":48},
"frame": {"x":277,"y":390,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -578,7 +578,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
"frame": {"x":315,"y":567,"w":48,"h":43},
"frame": {"x":3,"y":500,"w":48,"h":43},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":5,"w":48,"h":43},
@ -586,7 +586,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
"frame": {"x":55,"y":500,"w":48,"h":38},
"frame": {"x":159,"y":523,"w":48,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":10,"w":48,"h":38},
@ -594,7 +594,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
"frame": {"x":107,"y":500,"w":48,"h":38},
"frame": {"x":211,"y":542,"w":48,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":38},
@ -602,7 +602,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
"frame": {"x":159,"y":523,"w":48,"h":38},
"frame": {"x":263,"y":546,"w":48,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":38},
@ -618,7 +618,7 @@
},
"sprites/blueprints/wire-split.png":
{
"frame": {"x":55,"y":542,"w":48,"h":28},
"frame": {"x":315,"y":567,"w":48,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":20,"w":48,"h":28},
@ -634,7 +634,7 @@
},
"sprites/blueprints/wire.png":
{
"frame": {"x":357,"y":282,"w":8,"h":48},
"frame": {"x":357,"y":286,"w":8,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":0,"w":8,"h":48},
@ -642,7 +642,7 @@
},
"sprites/blueprints/wire_tunnel-coating.png":
{
"frame": {"x":253,"y":478,"w":13,"h":47},
"frame": {"x":235,"y":458,"w":13,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":17,"y":0,"w":13,"h":47},
@ -650,7 +650,7 @@
},
"sprites/blueprints/wire_tunnel.png":
{
"frame": {"x":263,"y":542,"w":48,"h":47},
"frame": {"x":384,"y":515,"w":48,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":47},
@ -658,7 +658,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":157,"y":639,"w":44,"h":44},
"frame": {"x":3,"y":667,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -666,7 +666,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":99,"y":758,"w":44,"h":44},
"frame": {"x":198,"y":732,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -706,7 +706,7 @@
},
"sprites/buildings/display.png":
{
"frame": {"x":208,"y":613,"w":44,"h":46},
"frame": {"x":54,"y":628,"w":44,"h":46},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":44,"h":46},
@ -738,7 +738,7 @@
},
"sprites/buildings/logic_gate-not.png":
{
"frame": {"x":147,"y":831,"w":43,"h":48},
"frame": {"x":466,"y":653,"w":43,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":43,"h":48},
@ -746,7 +746,7 @@
},
"sprites/buildings/logic_gate-or.png":
{
"frame": {"x":3,"y":500,"w":48,"h":42},
"frame": {"x":107,"y":500,"w":48,"h":42},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":42},
@ -770,7 +770,7 @@
},
"sprites/buildings/logic_gate.png":
{
"frame": {"x":374,"y":566,"w":48,"h":45},
"frame": {"x":436,"y":604,"w":48,"h":45},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":45},
@ -778,7 +778,7 @@
},
"sprites/buildings/miner-chainable.png":
{
"frame": {"x":314,"y":614,"w":47,"h":48},
"frame": {"x":262,"y":588,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -786,7 +786,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":365,"y":615,"w":47,"h":48},
"frame": {"x":313,"y":599,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -850,7 +850,7 @@
},
"sprites/buildings/rotater.png":
{
"frame": {"x":275,"y":438,"w":48,"h":48},
"frame": {"x":275,"y":442,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -858,7 +858,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
"frame": {"x":374,"y":515,"w":48,"h":47},
"frame": {"x":436,"y":553,"w":48,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":47},
@ -866,7 +866,7 @@
},
"sprites/buildings/splitter-compact.png":
{
"frame": {"x":55,"y":574,"w":47,"h":47},
"frame": {"x":415,"y":653,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":47},
@ -906,7 +906,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":106,"y":574,"w":47,"h":42},
"frame": {"x":3,"y":579,"w":47,"h":42},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":6,"w":47,"h":42},
@ -914,7 +914,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":157,"y":597,"w":47,"h":38},
"frame": {"x":3,"y":625,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":10,"w":47,"h":38},
@ -922,7 +922,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":106,"y":620,"w":47,"h":38},
"frame": {"x":106,"y":578,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":38},
@ -930,7 +930,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":54,"y":625,"w":47,"h":38},
"frame": {"x":157,"y":597,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":38},
@ -938,7 +938,7 @@
},
"sprites/buildings/wire-cross.png":
{
"frame": {"x":270,"y":490,"w":48,"h":48},
"frame": {"x":268,"y":494,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -946,7 +946,7 @@
},
"sprites/buildings/wire-split.png":
{
"frame": {"x":3,"y":546,"w":48,"h":28},
"frame": {"x":55,"y":546,"w":48,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":20,"w":48,"h":28},
@ -962,7 +962,7 @@
},
"sprites/buildings/wire.png":
{
"frame": {"x":327,"y":453,"w":8,"h":48},
"frame": {"x":327,"y":457,"w":8,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":0,"w":8,"h":48},
@ -970,7 +970,7 @@
},
"sprites/buildings/wire_tunnel-coating.png":
{
"frame": {"x":235,"y":498,"w":12,"h":46},
"frame": {"x":252,"y":492,"w":12,"h":46},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":18,"y":1,"w":12,"h":46},
@ -978,7 +978,7 @@
},
"sprites/buildings/wire_tunnel.png":
{
"frame": {"x":3,"y":578,"w":47,"h":46},
"frame": {"x":55,"y":578,"w":47,"h":46},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":46},
@ -1010,7 +1010,7 @@
},
"sprites/misc/slot_bad_arrow.png":
{
"frame": {"x":278,"y":315,"w":13,"h":13},
"frame": {"x":252,"y":458,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -1018,7 +1018,7 @@
},
"sprites/misc/slot_good_arrow.png":
{
"frame": {"x":295,"y":315,"w":13,"h":13},
"frame": {"x":252,"y":475,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -1034,7 +1034,7 @@
},
"sprites/misc/waypoint.png":
{
"frame": {"x":235,"y":478,"w":14,"h":16},
"frame": {"x":349,"y":437,"w":14,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":14,"h":16},
@ -1042,18 +1042,18 @@
},
"sprites/wires/boolean_false.png":
{
"frame": {"x":357,"y":267,"w":9,"h":11},
"frame": {"x":235,"y":509,"w":12,"h":15},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":3,"w":9,"h":11},
"spriteSourceSize": {"x":2,"y":1,"w":12,"h":15},
"sourceSize": {"w":16,"h":16}
},
"sprites/wires/boolean_true.png":
{
"frame": {"x":312,"y":315,"w":7,"h":12},
"frame": {"x":357,"y":267,"w":9,"h":15},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":2,"w":7,"h":12},
"spriteSourceSize": {"x":3,"y":1,"w":9,"h":15},
"sourceSize": {"w":16,"h":16}
},
"sprites/wires/display/blue.png":
@ -1106,7 +1106,7 @@
},
"sprites/wires/display/yellow.png":
{
"frame": {"x":329,"y":433,"w":16,"h":16},
"frame": {"x":278,"y":315,"w":16,"h":16},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":16,"h":16},
@ -1138,7 +1138,7 @@
},
"sprites/wires/network_conflict.png":
{
"frame": {"x":349,"y":433,"w":16,"h":16},
"frame": {"x":298,"y":315,"w":16,"h":16},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":16,"h":16},
@ -1146,7 +1146,7 @@
},
"sprites/wires/network_empty.png":
{
"frame": {"x":255,"y":458,"w":15,"h":16},
"frame": {"x":318,"y":315,"w":15,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":15,"h":16},
@ -1170,7 +1170,7 @@
},
"sprites/wires/sets/color_forward.png":
{
"frame": {"x":251,"y":529,"w":8,"h":48},
"frame": {"x":339,"y":457,"w":8,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":0,"w":8,"h":48},
@ -1178,7 +1178,7 @@
},
"sprites/wires/sets/color_split.png":
{
"frame": {"x":107,"y":542,"w":48,"h":28},
"frame": {"x":3,"y":547,"w":48,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":20,"w":48,"h":28},
@ -1202,7 +1202,7 @@
},
"sprites/wires/sets/conflict_forward.png":
{
"frame": {"x":339,"y":453,"w":8,"h":48},
"frame": {"x":351,"y":457,"w":8,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":0,"w":8,"h":48},
@ -1210,7 +1210,7 @@
},
"sprites/wires/sets/conflict_split.png":
{
"frame": {"x":159,"y":565,"w":48,"h":28},
"frame": {"x":107,"y":546,"w":48,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":20,"w":48,"h":28},
@ -1226,7 +1226,7 @@
},
"sprites/wires/sets/regular_cross.png":
{
"frame": {"x":270,"y":490,"w":48,"h":48},
"frame": {"x":268,"y":494,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -1234,7 +1234,7 @@
},
"sprites/wires/sets/regular_forward.png":
{
"frame": {"x":327,"y":453,"w":8,"h":48},
"frame": {"x":327,"y":457,"w":8,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":0,"w":8,"h":48},
@ -1242,7 +1242,7 @@
},
"sprites/wires/sets/regular_split.png":
{
"frame": {"x":3,"y":546,"w":48,"h":28},
"frame": {"x":55,"y":546,"w":48,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":20,"w":48,"h":28},
@ -1258,7 +1258,7 @@
},
"sprites/wires/sets/shape_cross.png":
{
"frame": {"x":322,"y":515,"w":48,"h":48},
"frame": {"x":332,"y":515,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -1266,7 +1266,7 @@
},
"sprites/wires/sets/shape_forward.png":
{
"frame": {"x":351,"y":453,"w":8,"h":48},
"frame": {"x":320,"y":509,"w":8,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":0,"w":8,"h":48},
@ -1274,7 +1274,7 @@
},
"sprites/wires/sets/shape_split.png":
{
"frame": {"x":211,"y":581,"w":48,"h":28},
"frame": {"x":159,"y":565,"w":48,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":20,"w":48,"h":28},
@ -1290,7 +1290,7 @@
},
"sprites/wires/wires_preview.png":
{
"frame": {"x":235,"y":458,"w":16,"h":16},
"frame": {"x":329,"y":437,"w":16,"h":16},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":16,"h":16},
@ -1303,6 +1303,6 @@
"format": "RGBA8888",
"size": {"w":512,"h":1024},
"scale": "0.25",
"smartupdate": "$TexturePacker:SmartUpdate:9bd368ae0b2aae72402b6bf839999ece:a43ffc40e72c7a025dd537be932491bf:908b89f5ca8ff73e331a35a3b14d0604$"
"smartupdate": "$TexturePacker:SmartUpdate:876f0711b44fa7bbab8d2539e9651766:ff01f850e086ef31c114b036c3a32e6d:908b89f5ca8ff73e331a35a3b14d0604$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 KiB

After

Width:  |  Height:  |  Size: 238 KiB

View File

@ -2,7 +2,7 @@
"sprites/belt/built/forward_0.png":
{
"frame": {"x":940,"y":816,"w":78,"h":96},
"frame": {"x":943,"y":816,"w":78,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
@ -10,7 +10,7 @@
},
"sprites/belt/built/forward_1.png":
{
"frame": {"x":560,"y":1376,"w":78,"h":96},
"frame": {"x":439,"y":803,"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":94,"y":1598,"w":78,"h":96},
"frame": {"x":850,"y":1402,"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":3,"y":1668,"w":78,"h":96},
"frame": {"x":932,"y":1402,"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":843,"y":1305,"w":78,"h":96},
"frame": {"x":751,"y":1431,"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":743,"y":1402,"w":78,"h":96},
"frame": {"x":650,"y":1480,"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":925,"y":1305,"w":78,"h":96},
"frame": {"x":551,"y":1494,"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":642,"y":1458,"w":78,"h":96},
"frame": {"x":454,"y":1522,"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":545,"y":1476,"w":78,"h":96},
"frame": {"x":358,"y":1553,"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":449,"y":1553,"w":78,"h":96},
"frame": {"x":267,"y":1554,"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":463,"y":1453,"w":78,"h":96},
"frame": {"x":276,"y":1454,"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":367,"y":1514,"w":78,"h":96},
"frame": {"x":185,"y":1499,"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":276,"y":1553,"w":78,"h":96},
"frame": {"x":94,"y":1514,"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":185,"y":1594,"w":78,"h":96},
"frame": {"x":3,"y":1585,"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":392,"y":1150,"w":87,"h":87},
"frame": {"x":196,"y":1135,"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":293,"y":1189,"w":87,"h":87},
"frame": {"x":99,"y":1150,"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":483,"y":1180,"w":87,"h":87},
"frame": {"x":287,"y":1181,"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":384,"y":1241,"w":87,"h":87},
"frame": {"x":190,"y":1226,"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":287,"y":1280,"w":87,"h":87},
"frame": {"x":94,"y":1241,"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":190,"y":1321,"w":87,"h":87},
"frame": {"x":3,"y":1312,"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":94,"y":1325,"w":87,"h":87},
"frame": {"x":674,"y":1207,"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":3,"y":1395,"w":87,"h":87},
"frame": {"x":577,"y":1217,"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":679,"y":1176,"w":87,"h":87},
"frame": {"x":478,"y":1246,"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":574,"y":1194,"w":87,"h":87},
"frame": {"x":378,"y":1271,"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":196,"y":1230,"w":87,"h":87},
"frame": {"x":3,"y":1221,"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":99,"y":1234,"w":87,"h":87},
"frame": {"x":583,"y":1126,"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":3,"y":1304,"w":87,"h":87},
"frame": {"x":486,"y":1155,"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":588,"y":1103,"w":87,"h":87},
"frame": {"x":387,"y":1180,"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":475,"y":1271,"w":87,"h":87},
"frame": {"x":281,"y":1272,"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":378,"y":1332,"w":87,"h":87},
"frame": {"x":185,"y":1317,"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":770,"y":1211,"w":87,"h":87},
"frame": {"x":569,"y":1308,"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":665,"y":1267,"w":87,"h":87},
"frame": {"x":469,"y":1337,"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":566,"y":1285,"w":87,"h":87},
"frame": {"x":372,"y":1362,"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":469,"y":1362,"w":87,"h":87},
"frame": {"x":276,"y":1363,"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":372,"y":1423,"w":87,"h":87},
"frame": {"x":185,"y":1408,"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":276,"y":1462,"w":87,"h":87},
"frame": {"x":94,"y":1423,"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":185,"y":1503,"w":87,"h":87},
"frame": {"x":3,"y":1494,"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":94,"y":1507,"w":87,"h":87},
"frame": {"x":856,"y":1311,"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":281,"y":1371,"w":87,"h":87},
"frame": {"x":94,"y":1332,"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":185,"y":1412,"w":87,"h":87},
"frame": {"x":3,"y":1403,"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":94,"y":1416,"w":87,"h":87},
"frame": {"x":765,"y":1249,"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":3,"y":1486,"w":87,"h":87},
"frame": {"x":668,"y":1298,"w":87,"h":87},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
@ -338,7 +338,7 @@
},
"sprites/blueprints/belt_left.png":
{
"frame": {"x":3,"y":1577,"w":87,"h":87},
"frame": {"x":759,"y":1340,"w":87,"h":87},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
@ -346,7 +346,7 @@
},
"sprites/blueprints/belt_right.png":
{
"frame": {"x":861,"y":1214,"w":87,"h":87},
"frame": {"x":660,"y":1389,"w":87,"h":87},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
@ -354,7 +354,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":358,"y":1614,"w":78,"h":96},
"frame": {"x":176,"y":1599,"w":78,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
@ -386,7 +386,7 @@
},
"sprites/blueprints/display.png":
{
"frame": {"x":640,"y":914,"w":86,"h":91},
"frame": {"x":560,"y":1399,"w":86,"h":91},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":5,"w":86,"h":91},
@ -410,7 +410,7 @@
},
"sprites/blueprints/logic_gate-not.png":
{
"frame": {"x":756,"y":1302,"w":83,"h":96},
"frame": {"x":367,"y":1453,"w":83,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":0,"w":83,"h":96},
@ -418,7 +418,7 @@
},
"sprites/blueprints/logic_gate-or.png":
{
"frame": {"x":730,"y":990,"w":96,"h":82},
"frame": {"x":521,"y":991,"w":96,"h":82},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":82},
@ -442,7 +442,7 @@
},
"sprites/blueprints/logic_gate.png":
{
"frame": {"x":440,"y":899,"w":96,"h":89},
"frame": {"x":335,"y":902,"w":96,"h":89},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":89},
@ -450,7 +450,7 @@
},
"sprites/blueprints/miner-chainable.png":
{
"frame": {"x":396,"y":1050,"w":92,"h":96},
"frame": {"x":929,"y":916,"w":92,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":96},
@ -458,7 +458,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":296,"y":1089,"w":92,"h":96},
"frame": {"x":100,"y":1050,"w":92,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":96},
@ -514,7 +514,7 @@
},
"sprites/blueprints/rotater-fl.png":
{
"frame": {"x":728,"y":1076,"w":95,"h":96},
"frame": {"x":921,"y":1016,"w":95,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":95,"h":96},
@ -530,7 +530,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
"frame": {"x":102,"y":874,"w":95,"h":93},
"frame": {"x":820,"y":1152,"w":95,"h":93},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":95,"h":93},
@ -538,7 +538,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
"frame": {"x":102,"y":971,"w":93,"h":93},
"frame": {"x":101,"y":874,"w":93,"h":93},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":1,"w":93,"h":93},
@ -578,7 +578,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
"frame": {"x":199,"y":1048,"w":93,"h":84},
"frame": {"x":198,"y":969,"w":93,"h":84},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":12,"w":93,"h":84},
@ -586,7 +586,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
"frame": {"x":100,"y":1068,"w":93,"h":75},
"frame": {"x":100,"y":971,"w":93,"h":75},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":21,"w":93,"h":75},
@ -594,7 +594,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
"frame": {"x":201,"y":969,"w":94,"h":75},
"frame": {"x":3,"y":874,"w":94,"h":75},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":94,"h":75},
@ -602,7 +602,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
"frame": {"x":3,"y":1069,"w":93,"h":75},
"frame": {"x":3,"y":1048,"w":93,"h":75},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":93,"h":75},
@ -618,7 +618,7 @@
},
"sprites/blueprints/wire-split.png":
{
"frame": {"x":830,"y":994,"w":96,"h":55},
"frame": {"x":721,"y":990,"w":96,"h":55},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":41,"w":96,"h":55},
@ -650,7 +650,7 @@
},
"sprites/blueprints/wire_tunnel.png":
{
"frame": {"x":3,"y":974,"w":93,"h":91},
"frame": {"x":3,"y":953,"w":93,"h":91},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":93,"h":91},
@ -658,7 +658,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":392,"y":1150,"w":87,"h":87},
"frame": {"x":196,"y":1135,"w":87,"h":87},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
@ -666,7 +666,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":475,"y":1271,"w":87,"h":87},
"frame": {"x":281,"y":1272,"w":87,"h":87},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
@ -674,7 +674,7 @@
},
"sprites/buildings/belt_top.png":
{
"frame": {"x":940,"y":816,"w":78,"h":96},
"frame": {"x":943,"y":816,"w":78,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
@ -706,7 +706,7 @@
},
"sprites/buildings/display.png":
{
"frame": {"x":640,"y":1009,"w":84,"h":90},
"frame": {"x":463,"y":1428,"w":84,"h":90},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":84,"h":90},
@ -738,7 +738,7 @@
},
"sprites/buildings/logic_gate-not.png":
{
"frame": {"x":657,"y":1358,"w":82,"h":96},
"frame": {"x":435,"y":903,"w":82,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":82,"h":96},
@ -746,7 +746,7 @@
},
"sprites/buildings/logic_gate-or.png":
{
"frame": {"x":540,"y":899,"w":96,"h":83},
"frame": {"x":621,"y":923,"w":96,"h":83},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":83},
@ -762,7 +762,7 @@
},
"sprites/buildings/logic_gate-xor.png":
{
"frame": {"x":340,"y":803,"w":96,"h":95},
"frame": {"x":339,"y":803,"w":96,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":95},
@ -770,7 +770,7 @@
},
"sprites/buildings/logic_gate.png":
{
"frame": {"x":339,"y":902,"w":96,"h":88},
"frame": {"x":521,"y":899,"w":96,"h":88},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":88},
@ -778,7 +778,7 @@
},
"sprites/buildings/miner-chainable.png":
{
"frame": {"x":930,"y":916,"w":91,"h":95},
"frame": {"x":391,"y":1081,"w":91,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":91,"h":95},
@ -786,7 +786,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":930,"y":1015,"w":91,"h":95},
"frame": {"x":292,"y":1082,"w":91,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":91,"h":95},
@ -834,7 +834,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
"frame": {"x":827,"y":1111,"w":95,"h":96},
"frame": {"x":821,"y":1052,"w":95,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":95,"h":96},
@ -842,7 +842,7 @@
},
"sprites/buildings/rotater-fl.png":
{
"frame": {"x":926,"y":1114,"w":95,"h":96},
"frame": {"x":721,"y":1107,"w":95,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":95,"h":96},
@ -850,7 +850,7 @@
},
"sprites/buildings/rotater.png":
{
"frame": {"x":3,"y":874,"w":95,"h":96},
"frame": {"x":920,"y":1116,"w":95,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":95,"h":96},
@ -858,7 +858,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
"frame": {"x":201,"y":874,"w":94,"h":91},
"frame": {"x":919,"y":1216,"w":94,"h":91},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":94,"h":91},
@ -866,7 +866,7 @@
},
"sprites/buildings/splitter-compact.png":
{
"frame": {"x":299,"y":994,"w":93,"h":91},
"frame": {"x":198,"y":874,"w":93,"h":91},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":2,"w":93,"h":91},
@ -890,7 +890,7 @@
},
"sprites/buildings/trash-storage.png":
{
"frame": {"x":733,"y":694,"w":166,"h":192},
"frame": {"x":736,"y":694,"w":166,"h":192},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":166,"h":192},
@ -898,7 +898,7 @@
},
"sprites/buildings/trash.png":
{
"frame": {"x":730,"y":890,"w":96,"h":96},
"frame": {"x":729,"y":890,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@ -906,7 +906,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":100,"y":1147,"w":92,"h":83},
"frame": {"x":295,"y":995,"w":92,"h":83},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":13,"w":92,"h":83},
@ -914,7 +914,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":3,"y":1148,"w":92,"h":74},
"frame": {"x":196,"y":1057,"w":92,"h":74},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":22,"w":92,"h":74},
@ -922,7 +922,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":3,"y":1226,"w":92,"h":74},
"frame": {"x":391,"y":1003,"w":92,"h":74},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":74},
@ -930,7 +930,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":492,"y":1102,"w":92,"h":74},
"frame": {"x":487,"y":1077,"w":92,"h":74},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":74},
@ -938,7 +938,7 @@
},
"sprites/buildings/wire-cross.png":
{
"frame": {"x":830,"y":894,"w":96,"h":96},
"frame": {"x":829,"y":894,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@ -946,7 +946,7 @@
},
"sprites/buildings/wire-split.png":
{
"frame": {"x":830,"y":1053,"w":96,"h":54},
"frame": {"x":621,"y":1010,"w":96,"h":54},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":42,"w":96,"h":54},
@ -978,7 +978,7 @@
},
"sprites/buildings/wire_tunnel.png":
{
"frame": {"x":197,"y":1136,"w":92,"h":90},
"frame": {"x":3,"y":1127,"w":92,"h":90},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":3,"w":92,"h":90},
@ -1002,7 +1002,7 @@
},
"sprites/misc/hub_direction_indicator.png":
{
"frame": {"x":303,"y":835,"w":32,"h":32},
"frame": {"x":693,"y":851,"w":32,"h":32},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
@ -1042,23 +1042,23 @@
},
"sprites/wires/boolean_false.png":
{
"frame": {"x":717,"y":633,"w":15,"h":20},
"frame": {"x":717,"y":633,"w":21,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":7,"w":15,"h":20},
"spriteSourceSize": {"x":6,"y":3,"w":21,"h":28},
"sourceSize": {"w":32,"h":32}
},
"sprites/wires/boolean_true.png":
{
"frame": {"x":715,"y":757,"w":12,"h":21},
"frame": {"x":717,"y":665,"w":15,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":6,"w":12,"h":21},
"spriteSourceSize": {"x":7,"y":3,"w":15,"h":28},
"sourceSize": {"w":32,"h":32}
},
"sprites/wires/display/blue.png":
{
"frame": {"x":903,"y":783,"w":33,"h":33},
"frame": {"x":699,"y":703,"w":33,"h":33},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":33,"h":33},
@ -1066,7 +1066,7 @@
},
"sprites/wires/display/cyan.png":
{
"frame": {"x":903,"y":820,"w":33,"h":33},
"frame": {"x":699,"y":740,"w":33,"h":33},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":33,"h":33},
@ -1074,7 +1074,7 @@
},
"sprites/wires/display/green.png":
{
"frame": {"x":903,"y":857,"w":33,"h":33},
"frame": {"x":699,"y":777,"w":33,"h":33},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":33,"h":33},
@ -1082,7 +1082,7 @@
},
"sprites/wires/display/purple.png":
{
"frame": {"x":693,"y":803,"w":33,"h":33},
"frame": {"x":906,"y":783,"w":33,"h":33},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":33,"h":33},
@ -1090,7 +1090,7 @@
},
"sprites/wires/display/red.png":
{
"frame": {"x":693,"y":840,"w":33,"h":33},
"frame": {"x":906,"y":820,"w":33,"h":33},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":33,"h":33},
@ -1098,7 +1098,7 @@
},
"sprites/wires/display/white.png":
{
"frame": {"x":693,"y":877,"w":33,"h":33},
"frame": {"x":906,"y":857,"w":33,"h":33},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":33,"h":33},
@ -1106,7 +1106,7 @@
},
"sprites/wires/display/yellow.png":
{
"frame": {"x":303,"y":798,"w":33,"h":33},
"frame": {"x":693,"y":814,"w":33,"h":33},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":33,"h":33},
@ -1138,7 +1138,7 @@
},
"sprites/wires/network_conflict.png":
{
"frame": {"x":440,"y":803,"w":32,"h":30},
"frame": {"x":303,"y":798,"w":32,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":32,"h":30},
@ -1178,7 +1178,7 @@
},
"sprites/wires/sets/color_split.png":
{
"frame": {"x":540,"y":986,"w":96,"h":54},
"frame": {"x":821,"y":994,"w":96,"h":54},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":42,"w":96,"h":54},
@ -1202,7 +1202,7 @@
},
"sprites/wires/sets/conflict_forward.png":
{
"frame": {"x":717,"y":657,"w":12,"h":96},
"frame": {"x":303,"y":832,"w":12,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":42,"y":0,"w":12,"h":96},
@ -1210,7 +1210,7 @@
},
"sprites/wires/sets/conflict_split.png":
{
"frame": {"x":439,"y":992,"w":96,"h":54},
"frame": {"x":721,"y":1049,"w":96,"h":54},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":42,"w":96,"h":54},
@ -1226,7 +1226,7 @@
},
"sprites/wires/sets/regular_cross.png":
{
"frame": {"x":830,"y":894,"w":96,"h":96},
"frame": {"x":829,"y":894,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@ -1242,7 +1242,7 @@
},
"sprites/wires/sets/regular_split.png":
{
"frame": {"x":830,"y":1053,"w":96,"h":54},
"frame": {"x":621,"y":1010,"w":96,"h":54},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":42,"w":96,"h":54},
@ -1266,7 +1266,7 @@
},
"sprites/wires/sets/shape_forward.png":
{
"frame": {"x":699,"y":703,"w":12,"h":96},
"frame": {"x":319,"y":832,"w":12,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":42,"y":0,"w":12,"h":96},
@ -1274,7 +1274,7 @@
},
"sprites/wires/sets/shape_split.png":
{
"frame": {"x":539,"y":1044,"w":96,"h":54},
"frame": {"x":621,"y":1068,"w":96,"h":54},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":42,"w":96,"h":54},
@ -1290,7 +1290,7 @@
},
"sprites/wires/wires_preview.png":
{
"frame": {"x":303,"y":871,"w":32,"h":32},
"frame": {"x":693,"y":887,"w":32,"h":32},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
@ -1303,6 +1303,6 @@
"format": "RGBA8888",
"size": {"w":1024,"h":2048},
"scale": "0.5",
"smartupdate": "$TexturePacker:SmartUpdate:9bd368ae0b2aae72402b6bf839999ece:a43ffc40e72c7a025dd537be932491bf:908b89f5ca8ff73e331a35a3b14d0604$"
"smartupdate": "$TexturePacker:SmartUpdate:876f0711b44fa7bbab8d2539e9651766:ff01f850e086ef31c114b036c3a32e6d:908b89f5ca8ff73e331a35a3b14d0604$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 570 KiB

After

Width:  |  Height:  |  Size: 567 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -22,9 +22,5 @@ export class DrawParameters {
// FIXME: Not really nice
/** @type {GameRoot} */
this.root = root;
if (G_IS_DEV && globalConfig.debug.testClipping) {
this.visibleRect = this.visibleRect.expandedInAllDirections(-100);
}
}
}

View File

@ -3,6 +3,12 @@
* @typedef {import("./draw_parameters").DrawParameters} DrawParameters
*/
import { globalConfig } from "./config";
import { createLogger } from "./logging";
import { Rectangle } from "./rectangle";
const logger = createLogger("draw_utils");
export function initDrawUtils() {
CanvasRenderingContext2D.prototype.beginRoundedRect = function (x, y, w, h, r) {
this.beginPath();
@ -52,9 +58,64 @@ export function initDrawUtils() {
* @param {number=} param0.offsetY
*/
export function drawRotatedSprite({ parameters, sprite, x, y, angle, size, offsetX = 0, offsetY = 0 }) {
if (angle === 0) {
sprite.drawCachedCentered(parameters, x + offsetX, y + offsetY, size);
return;
}
parameters.context.translate(x, y);
parameters.context.rotate(angle);
sprite.drawCachedCentered(parameters, offsetX, offsetY, size, false);
parameters.context.rotate(-angle);
parameters.context.translate(-x, -y);
}
let warningsShown = 0;
/**
* Draws a sprite with clipping
* @param {object} param0
* @param {DrawParameters} param0.parameters
* @param {HTMLCanvasElement} param0.sprite
* @param {number} param0.x
* @param {number} param0.y
* @param {number} param0.w
* @param {number} param0.h
* @param {number} param0.originalW
* @param {number} param0.originalH
*/
export function drawSpriteClipped({ parameters, sprite, x, y, w, h, originalW, originalH }) {
const rect = new Rectangle(x, y, w, h);
const intersection = rect.getIntersection(parameters.visibleRect);
if (!intersection) {
// Clipped
if (++warningsShown % 200 === 1) {
logger.warn(
"Sprite drawn clipped but it's not on screen - perform culling before (",
warningsShown,
"warnings)"
);
}
if (G_IS_DEV && globalConfig.debug.testClipping) {
parameters.context.fillStyle = "yellow";
parameters.context.fillRect(x, y, w, h);
}
return;
}
parameters.context.drawImage(
sprite,
// src pos and size
((intersection.x - x) / w) * originalW,
((intersection.y - y) / h) * originalH,
(originalW * intersection.w) / w,
(originalH * intersection.h) / h,
// dest pos and size
intersection.x,
intersection.y,
intersection.w,
intersection.h
);
}

View File

@ -395,22 +395,14 @@ export class Rectangle {
/**
* Returns a new recangle in tile space which includes all tiles which are visible in this rect
* @param {boolean=} includeHalfTiles
* @returns {Rectangle}
*/
toTileCullRectangle(includeHalfTiles = true) {
let scaled = this.allScaled(1.0 / globalConfig.tileSize);
if (includeHalfTiles) {
// Increase rectangle size
scaled = Rectangle.fromTRBL(
Math.floor(scaled.y),
Math.ceil(scaled.right()),
Math.ceil(scaled.bottom()),
Math.floor(scaled.x)
);
}
return scaled;
toTileCullRectangle() {
return new Rectangle(
Math.floor(this.x / globalConfig.tileSize),
Math.floor(this.y / globalConfig.tileSize),
Math.ceil(this.w / globalConfig.tileSize),
Math.ceil(this.h / globalConfig.tileSize)
);
}
}

View File

@ -59,9 +59,9 @@ export class BaseItem extends BasicSerializableObject {
* @param {number} x
* @param {number} y
* @param {DrawParameters} parameters
* @param {number=} size
* @param {number=} diameter
*/
draw(x, y, parameters, size) {}
drawCentered(x, y, parameters, diameter) {}
getBackgroundColorAsResource() {
abstract;

View File

@ -1195,7 +1195,7 @@ export class BeltPath extends BasicSerializableObject {
const distanceAndItem = this.items[currentItemIndex];
if (parameters.visibleRect.containsCircle(worldPos.x, worldPos.y, 10)) {
distanceAndItem[_item].draw(worldPos.x, worldPos.y, parameters);
distanceAndItem[_item].drawCentered(worldPos.x, worldPos.y, parameters);
}
// Check for the next item

View File

@ -255,8 +255,7 @@ export class StaticMapEntityComponent extends Component {
worldX - extrudePixels * size.x,
worldY - extrudePixels * size.y,
globalConfig.tileSize * size.x + 2 * extrudePixels * size.x,
globalConfig.tileSize * size.y + 2 * extrudePixels * size.y,
false
globalConfig.tileSize * size.y + 2 * extrudePixels * size.y
);
} else {
const rotationCenterX = worldX + globalConfig.halfTileSize;
@ -264,16 +263,14 @@ export class StaticMapEntityComponent extends Component {
parameters.context.translate(rotationCenterX, rotationCenterY);
parameters.context.rotate(Math.radians(this.rotation));
sprite.drawCached(
parameters,
-globalConfig.halfTileSize - extrudePixels * size.x,
-globalConfig.halfTileSize - extrudePixels * size.y,
globalConfig.tileSize * size.x + 2 * extrudePixels * size.x,
globalConfig.tileSize * size.y + 2 * extrudePixels * size.y,
false
false // no clipping possible here
);
parameters.context.rotate(-Math.radians(this.rotation));
parameters.context.translate(-rotationCenterX, -rotationCenterY);
}

View File

@ -369,6 +369,13 @@ export class GameCore {
}
// Transform to world space
if (G_IS_DEV && globalConfig.debug.testClipping) {
params.visibleRect = params.visibleRect.expandedInAllDirections(
-200 / this.root.camera.zoomLevel
);
}
root.camera.transform(context);
assert(context.globalAlpha === 1.0, "Global alpha not 1 on frame start");
@ -385,9 +392,6 @@ export class GameCore {
} else {
root.map.drawBackground(params);
// Underlays for splitters / balancers
systems.beltUnderlays.drawUnderlays(params);
// Belt items
systems.belt.drawBeltItems(params);
@ -439,6 +443,9 @@ export class GameCore {
params.zoomLevel = 1;
params.desiredAtlasScale = ORIGINAL_SPRITE_SCALE;
params.visibleRect = new Rectangle(0, 0, this.root.gameWidth, this.root.gameHeight);
if (G_IS_DEV && globalConfig.debug.testClipping) {
params.visibleRect = params.visibleRect.expandedInAllDirections(-200);
}
// Draw overlays, those are screen space
root.hud.drawOverlays(params);
@ -469,5 +476,13 @@ export class GameCore {
20
);
}
if (G_IS_DEV && globalConfig.debug.testClipping) {
context.strokeStyle = "red";
context.lineWidth = 1;
context.beginPath();
context.rect(200, 200, this.root.gameWidth - 400, this.root.gameHeight - 400);
context.stroke();
}
}
}

View File

@ -69,7 +69,7 @@ export class HUDWireInfo extends BaseHUDPart {
} else if (!network.currentValue) {
this.spriteEmpty.draw(parameters.context, mousePos.x + 10, mousePos.y - 10, 40, 40);
} else {
network.currentValue.draw(mousePos.x + 20, mousePos.y, parameters, 40);
network.currentValue.drawCentered(mousePos.x + 20, mousePos.y, parameters, 40);
}
}
}

View File

@ -42,17 +42,17 @@ export class BooleanItem extends BaseItem {
/**
* @param {number} x
* @param {number} y
* @param {number} size
* @param {number} diameter
* @param {DrawParameters} parameters
*/
draw(x, y, parameters, size = 12) {
drawCentered(x, y, parameters, diameter = 12) {
let sprite;
if (this.value) {
sprite = Loader.getSprite("sprites/wires/boolean_true.png");
} else {
sprite = Loader.getSprite("sprites/wires/boolean_false.png");
}
sprite.drawCachedCentered(parameters, x, y, size * 1.5);
sprite.drawCachedCentered(parameters, x, y, diameter);
}
}

View File

@ -50,26 +50,26 @@ export class ColorItem extends BaseItem {
/**
* @param {number} x
* @param {number} y
* @param {number} size
* @param {number} diameter
* @param {DrawParameters} parameters
*/
draw(x, y, parameters, size = 12) {
drawCentered(x, y, parameters, diameter = 12) {
if (!this.bufferGenerator) {
this.bufferGenerator = this.internalGenerateColorBuffer.bind(this);
}
const dpi = smoothenDpi(globalConfig.shapesSharpness * parameters.zoomLevel);
const key = size + "/" + dpi;
const key = diameter + "/" + dpi;
const canvas = parameters.root.buffers.getForKey({
key,
subKey: this.color,
w: size,
h: size,
w: diameter,
h: diameter,
dpi,
redrawMethod: this.bufferGenerator,
});
parameters.context.drawImage(canvas, x - size / 2, y - size / 2, size, size);
parameters.context.drawImage(canvas, x - diameter / 2, y - diameter / 2, diameter, diameter);
}
/**
*

View File

@ -52,9 +52,9 @@ export class ShapeItem extends BaseItem {
* @param {number} x
* @param {number} y
* @param {DrawParameters} parameters
* @param {number=} size
* @param {number=} diameter
*/
draw(x, y, parameters, size) {
this.definition.draw(x, y, parameters, size);
drawCentered(x, y, parameters, diameter) {
this.definition.drawCentered(x, y, parameters, diameter);
}
}

View File

@ -1,13 +1,10 @@
import { GameRoot, enumLayer } from "./root";
import { globalConfig } from "../core/config";
import { Vector } from "../core/vector";
import { Entity } from "./entity";
import { createLogger } from "../core/logging";
import { BaseItem } from "./base_item";
import { MapChunkView } from "./map_chunk_view";
import { BasicSerializableObject, types } from "../savegame/serialization";
const logger = createLogger("map");
import { BaseItem } from "./base_item";
import { Entity } from "./entity";
import { MapChunkView } from "./map_chunk_view";
import { enumLayer, GameRoot } from "./root";
export class BaseMap extends BasicSerializableObject {
static getId() {

View File

@ -9,6 +9,7 @@ import { Entity } from "./entity";
import { COLOR_ITEM_SINGLETONS } from "./items/color_item";
import { enumLayer, GameRoot } from "./root";
import { enumSubShape } from "./shape_definition";
import { Rectangle } from "../core/rectangle";
const logger = createLogger("map_chunk");
@ -26,18 +27,47 @@ export class MapChunk {
this.tileX = x * globalConfig.mapChunkSize;
this.tileY = y * globalConfig.mapChunkSize;
/** @type {Array<Array<?Entity>>} */
/**
* Stores the contents of the lower (= map resources) layer
* @type {Array<Array<?BaseItem>>}
*/
this.lowerLayer = make2DUndefinedArray(globalConfig.mapChunkSize, globalConfig.mapChunkSize);
/**
* Stores the contents of the regular layer
* @type {Array<Array<?Entity>>}
*/
this.contents = make2DUndefinedArray(globalConfig.mapChunkSize, globalConfig.mapChunkSize);
/** @type {Array<Array<?Entity>>} */
/**
* Stores the contents of the wires layer
* @type {Array<Array<?Entity>>}
*/
this.wireContents = make2DUndefinedArray(globalConfig.mapChunkSize, globalConfig.mapChunkSize);
/** @type {Array<Array<?BaseItem>>} */
this.lowerLayer = make2DUndefinedArray(globalConfig.mapChunkSize, globalConfig.mapChunkSize);
/** @type {Array<Entity>} */
this.containedEntities = [];
/**
* World space rectangle, can be used for culling
*/
this.worldSpaceRectangle = new Rectangle(
this.tileX * globalConfig.tileSize,
this.tileY * globalConfig.tileSize,
globalConfig.mapChunkWorldSize,
globalConfig.mapChunkWorldSize
);
/**
* Tile space rectangle, can be used for culling
*/
this.tileSpaceRectangle = new Rectangle(
this.tileX,
this.tileY,
globalConfig.mapChunkSize,
globalConfig.mapChunkSize
);
/**
* Which entities this chunk contains, sorted by layer
* @type {Object<string, Array<Entity>>}

View File

@ -5,6 +5,7 @@ import { Entity } from "./entity";
import { MapChunk } from "./map_chunk";
import { enumLayer, GameRoot } from "./root";
import { THEME } from "./theme";
import { drawSpriteClipped } from "../core/draw_utils";
export const CHUNK_OVERLAY_RES = 3;
@ -41,6 +42,7 @@ export class MapChunkView extends MapChunk {
drawBackgroundLayer(parameters) {
const systems = this.root.systemMgr.systems;
systems.mapResources.drawChunk(parameters, this);
systems.beltUnderlays.drawChunk(parameters, this);
systems.belt.drawChunk(parameters, this);
}
@ -61,11 +63,12 @@ export class MapChunkView extends MapChunk {
* @param {DrawParameters} parameters
*/
drawOverlay(parameters) {
const overlaySize = globalConfig.mapChunkSize * CHUNK_OVERLAY_RES;
const sprite = this.root.buffers.getForKey({
key: "chunk@" + this.root.currentLayer,
subKey: this.renderKey,
w: globalConfig.mapChunkSize * CHUNK_OVERLAY_RES,
h: globalConfig.mapChunkSize * CHUNK_OVERLAY_RES,
w: overlaySize,
h: overlaySize,
dpi: 1,
redrawMethod: this.generateOverlayBuffer.bind(this),
});
@ -74,7 +77,17 @@ export class MapChunkView extends MapChunk {
// Draw chunk "pixel" art
parameters.context.imageSmoothingEnabled = false;
parameters.context.drawImage(sprite, this.x * dims, this.y * dims, dims, dims);
drawSpriteClipped({
parameters,
sprite,
x: this.x * dims,
y: this.y * dims,
w: dims,
h: dims,
originalW: overlaySize,
originalH: overlaySize,
});
parameters.context.imageSmoothingEnabled = true;
// Draw patch items
@ -82,12 +95,13 @@ export class MapChunkView extends MapChunk {
for (let i = 0; i < this.patches.length; ++i) {
const patch = this.patches[i];
patch.item.draw(
this.x * dims + patch.pos.x * globalConfig.tileSize,
this.y * dims + patch.pos.y * globalConfig.tileSize,
parameters,
Math.min(80, 30 / parameters.zoomLevel)
);
const destX = this.x * dims + patch.pos.x * globalConfig.tileSize;
const destY = this.y * dims + patch.pos.y * globalConfig.tileSize;
const destSize = Math.min(80, 30 / parameters.zoomLevel);
if (parameters.visibleRect.containsCircle(destX, destY, destSize)) {
patch.item.drawCentered(destX, destY, parameters, destSize);
}
}
}
}

View File

@ -140,23 +140,23 @@ export class MapView extends BaseMap {
* @param {function} method
*/
drawVisibleChunks(parameters, method) {
const cullRange = parameters.visibleRect.toTileCullRectangle();
const cullRange = parameters.visibleRect.allScaled(1 / globalConfig.tileSize);
const top = cullRange.top();
const right = cullRange.right();
const bottom = cullRange.bottom();
const left = cullRange.left();
const border = 1;
const border = 0;
const minY = top - border;
const maxY = bottom + border;
const minX = left - border;
const maxX = right + border - 1;
const maxX = right + border;
const chunkStartX = Math.floor(minX / globalConfig.mapChunkSize);
const chunkStartY = Math.floor(minY / globalConfig.mapChunkSize);
const chunkEndX = Math.ceil(maxX / globalConfig.mapChunkSize);
const chunkEndY = Math.ceil(maxY / globalConfig.mapChunkSize);
const chunkEndX = Math.floor(maxX / globalConfig.mapChunkSize);
const chunkEndY = Math.floor(maxY / globalConfig.mapChunkSize);
// Render y from top down for proper blending
for (let chunkX = chunkStartX; chunkX <= chunkEndX; ++chunkX) {
@ -230,7 +230,6 @@ export class MapView extends BaseMap {
const chunkEndX = Math.ceil(maxX / globalConfig.mapChunkSize);
const chunkEndY = Math.ceil(maxY / globalConfig.mapChunkSize);
// Render y from top down for proper blending
for (let chunkX = chunkStartX; chunkX <= chunkEndX; ++chunkX) {
for (let chunkY = chunkStartY; chunkY <= chunkEndY; ++chunkY) {
parameters.context.fillStyle = "#ffaaaa";

View File

@ -280,24 +280,25 @@ export class ShapeDefinition extends BasicSerializableObject {
* @param {number} x
* @param {number} y
* @param {DrawParameters} parameters
* @param {number=} diameter
*/
draw(x, y, parameters, size = 20) {
drawCentered(x, y, parameters, diameter = 20) {
const dpi = smoothenDpi(globalConfig.shapesSharpness * parameters.zoomLevel);
if (!this.bufferGenerator) {
this.bufferGenerator = this.internalGenerateShapeBuffer.bind(this);
}
const key = size + "/" + dpi;
const key = diameter + "/" + dpi;
const canvas = parameters.root.buffers.getForKey({
key,
subKey: this.cachedHash,
w: size,
h: size,
w: diameter,
h: diameter,
dpi,
redrawMethod: this.bufferGenerator,
});
parameters.context.drawImage(canvas, x - size / 2, y - size / 2, size, size);
parameters.context.drawImage(canvas, x - diameter / 2, y - diameter / 2, diameter, diameter);
}
/**

View File

@ -14,6 +14,7 @@ import { GameSystemWithFilter } from "../game_system_with_filter";
import { MapChunkView } from "../map_chunk_view";
import { defaultBuildingVariant } from "../meta_building";
import { getCodeFromBuildingData } from "../building_codes";
import { enumLayer } from "../root";
export const BELT_ANIM_COUNT = 14;
@ -495,17 +496,13 @@ export class BeltSystem extends GameSystemWithFilter {
((this.root.time.realtimeNow() * speedMultiplier * BELT_ANIM_COUNT * 126) / 42) *
globalConfig.itemSpacingOnBelts
);
const contents = chunk.contents;
for (let y = 0; y < globalConfig.mapChunkSize; ++y) {
for (let x = 0; x < globalConfig.mapChunkSize; ++x) {
const entity = contents[x][y];
if (entity && entity.components.Belt) {
const direction = entity.components.Belt.direction;
const sprite = this.beltAnimations[direction][animationIndex % BELT_ANIM_COUNT];
entity.components.StaticMapEntity.drawSpriteOnFullEntityBounds(parameters, sprite, 0);
}
const contents = chunk.containedEntitiesByLayer[enumLayer.regular];
for (let i = 0; i < contents.length; ++i) {
const entity = contents[i];
if (entity.components.Belt) {
const direction = entity.components.Belt.direction;
const sprite = this.beltAnimations[direction][animationIndex % BELT_ANIM_COUNT];
entity.components.StaticMapEntity.drawSpriteOnFullEntityBounds(parameters, sprite, 0);
}
}
}

View File

@ -3,9 +3,11 @@ import { drawRotatedSprite } from "../../core/draw_utils";
import { Loader } from "../../core/loader";
import { enumDirectionToAngle } from "../../core/vector";
import { BeltUnderlaysComponent } from "../components/belt_underlays";
import { Entity } from "../entity";
import { GameSystemWithFilter } from "../game_system_with_filter";
import { BELT_ANIM_COUNT } from "./belt";
import { MapChunkView } from "../map_chunk_view";
import { DrawParameters } from "../../core/draw_parameters";
import { enumLayer } from "../root";
export class BeltUnderlaysSystem extends GameSystemWithFilter {
constructor(root) {
@ -19,49 +21,47 @@ export class BeltUnderlaysSystem extends GameSystemWithFilter {
}
/**
* Draws the acceptor underlays
* @param {import("../../core/draw_utils").DrawParameters} parameters
* Draws a given chunk
* @param {DrawParameters} parameters
* @param {MapChunkView} chunk
*/
drawUnderlays(parameters) {
this.forEachMatchingEntityOnScreen(parameters, this.drawEntityUnderlays.bind(this));
}
/**
* @param {import("../../core/draw_utils").DrawParameters} parameters
* @param {Entity} entity
*/
drawEntityUnderlays(parameters, entity) {
const staticComp = entity.components.StaticMapEntity;
const underlayComp = entity.components.BeltUnderlays;
if (!staticComp.shouldBeDrawn(parameters)) {
return;
}
drawChunk(parameters, chunk) {
// Limit speed to avoid belts going backwards
const speedMultiplier = Math.min(this.root.hubGoals.getBeltBaseSpeed(), 10);
const underlays = underlayComp.underlays;
for (let i = 0; i < underlays.length; ++i) {
const { pos, direction } = underlays[i];
const contents = chunk.containedEntitiesByLayer[enumLayer.regular];
for (let i = 0; i < contents.length; ++i) {
const entity = contents[i];
const underlayComp = entity.components.BeltUnderlays;
if (underlayComp) {
const staticComp = entity.components.StaticMapEntity;
const underlays = underlayComp.underlays;
for (let i = 0; i < underlays.length; ++i) {
const { pos, direction } = underlays[i];
const transformedPos = staticComp.localTileToWorld(pos);
const transformedPos = staticComp.localTileToWorld(pos);
const angle = enumDirectionToAngle[staticComp.localDirectionToWorld(direction)];
if (!chunk.tileSpaceRectangle.containsPoint(transformedPos.x, transformedPos.y)) {
continue;
}
// SYNC with systems/belt.js:drawSingleEntity!
const animationIndex = Math.floor(
((this.root.time.realtimeNow() * speedMultiplier * BELT_ANIM_COUNT * 126) / 42) *
globalConfig.itemSpacingOnBelts
);
const angle = enumDirectionToAngle[staticComp.localDirectionToWorld(direction)];
drawRotatedSprite({
parameters,
sprite: this.underlayBeltSprites[animationIndex % this.underlayBeltSprites.length],
x: (transformedPos.x + 0.5) * globalConfig.tileSize,
y: (transformedPos.y + 0.5) * globalConfig.tileSize,
angle: Math.radians(angle),
size: globalConfig.tileSize,
});
// SYNC with systems/belt.js:drawSingleEntity!
const animationIndex = Math.floor(
((this.root.time.realtimeNow() * speedMultiplier * BELT_ANIM_COUNT * 126) / 42) *
globalConfig.itemSpacingOnBelts
);
drawRotatedSprite({
parameters,
sprite: this.underlayBeltSprites[animationIndex % this.underlayBeltSprites.length],
x: (transformedPos.x + 0.5) * globalConfig.tileSize,
y: (transformedPos.y + 0.5) * globalConfig.tileSize,
angle: Math.radians(angle),
size: globalConfig.tileSize,
});
}
}
}
}
}

View File

@ -85,8 +85,7 @@ export class DisplaySystem extends GameSystemWithFilter {
globalConfig.tileSize
);
} else if (value.getItemType() === enumItemType.shape) {
// @todo
value.draw(
value.drawCentered(
(origin.x + 0.5) * globalConfig.tileSize,
(origin.y + 0.5) * globalConfig.tileSize,
parameters,

View File

@ -47,7 +47,7 @@ export class HubSystem extends GameSystemWithFilter {
const definition = this.root.hubGoals.currentGoal.definition;
definition.draw(pos.x - 25, pos.y - 10, parameters, 40);
definition.drawCentered(pos.x - 25, pos.y - 10, parameters, 40);
const goals = this.root.hubGoals.currentGoal;

View File

@ -71,7 +71,7 @@ export class ItemAcceptorSystem extends GameSystemWithFilter {
fadeOutDirection.x * (animProgress / 2 - 0.5),
fadeOutDirection.y * (animProgress / 2 - 0.5)
);
item.draw(
item.drawCentered(
(finalTile.x + 0.5) * globalConfig.tileSize,
(finalTile.y + 0.5) * globalConfig.tileSize,
parameters

View File

@ -379,7 +379,7 @@ export class ItemEjectorSystem extends GameSystemWithFilter {
const worldX = tileX * globalConfig.tileSize;
const worldY = tileY * globalConfig.tileSize;
ejectedItem.draw(worldX, worldY, parameters);
ejectedItem.drawCentered(worldX, worldY, parameters);
}
}
}

View File

@ -3,6 +3,7 @@ import { DrawParameters } from "../../core/draw_parameters";
import { GameSystem } from "../game_system";
import { MapChunkView } from "../map_chunk_view";
import { THEME } from "../theme";
import { drawSpriteClipped } from "../../core/draw_utils";
export class MapResourcesSystem extends GameSystem {
/**
@ -21,13 +22,16 @@ export class MapResourcesSystem extends GameSystem {
});
parameters.context.imageSmoothingEnabled = false;
parameters.context.drawImage(
basicChunkBackground,
chunk.tileX * globalConfig.tileSize,
chunk.tileY * globalConfig.tileSize,
globalConfig.mapChunkWorldSize,
globalConfig.mapChunkWorldSize
);
drawSpriteClipped({
parameters,
sprite: basicChunkBackground,
x: chunk.tileX * globalConfig.tileSize,
y: chunk.tileY * globalConfig.tileSize,
w: globalConfig.mapChunkWorldSize,
h: globalConfig.mapChunkWorldSize,
originalW: globalConfig.mapChunkSize,
originalH: globalConfig.mapChunkSize,
});
parameters.context.imageSmoothingEnabled = true;
parameters.context.globalAlpha = 0.5;
@ -36,13 +40,12 @@ export class MapResourcesSystem extends GameSystem {
// LOW QUALITY: Draw patch items only
for (let i = 0; i < chunk.patches.length; ++i) {
const patch = chunk.patches[i];
patch.item.draw(
chunk.x * globalConfig.mapChunkWorldSize + patch.pos.x * globalConfig.tileSize,
chunk.y * globalConfig.mapChunkWorldSize + patch.pos.y * globalConfig.tileSize,
parameters,
Math.min(80, 40 / parameters.zoomLevel)
);
const destX = chunk.x * globalConfig.mapChunkWorldSize + patch.pos.x * globalConfig.tileSize;
const destY = chunk.y * globalConfig.mapChunkWorldSize + patch.pos.y * globalConfig.tileSize;
const destSize = Math.min(80, 40 / parameters.zoomLevel);
if (parameters.visibleRect.containsCircle(destX, destY, destSize / 2)) {
patch.item.drawCentered(destX, destY, parameters, destSize);
}
}
} else {
// HIGH QUALITY: Draw all items
@ -55,25 +58,12 @@ export class MapResourcesSystem extends GameSystem {
if (lowerItem) {
const worldY = (chunk.tileY + y) * globalConfig.tileSize;
if (
!parameters.visibleRect.containsRect4Params(
worldX,
worldY,
globalConfig.tileSize,
globalConfig.tileSize
)
) {
// Clipped
continue;
}
const destX = worldX + globalConfig.halfTileSize;
const destY = worldY + globalConfig.halfTileSize;
// parameters.context.fillStyle = lowerItem.getBackgroundColorAsResource();
// parameters.context.fillRect(worldX, worldY, globalConfig.tileSize, globalConfig.tileSize);
lowerItem.draw(
worldX + globalConfig.halfTileSize,
worldY + globalConfig.halfTileSize,
parameters
);
if (parameters.visibleRect.containsCircle(destX, destY, globalConfig.tileSize / 2)) {
lowerItem.drawCentered(destX, destY, parameters);
}
}
}
}
@ -93,7 +83,6 @@ export class MapResourcesSystem extends GameSystem {
generateChunkBackground(chunk, canvas, context, w, h, dpi) {
if (this.root.app.settings.getAllSettings().disableTileGrid) {
// The map doesn't draw a background, so we have to
context.fillStyle = THEME.map.background;
context.fillRect(0, 0, w, h);
} else {

View File

@ -130,7 +130,7 @@ export class MinerSystem extends GameSystemWithFilter {
}
if (minerComp.cachedMinedItem) {
minerComp.cachedMinedItem.draw(
minerComp.cachedMinedItem.drawCentered(
(0.5 + staticComp.origin.x) * globalConfig.tileSize,
(0.5 + staticComp.origin.y) * globalConfig.tileSize,
parameters

View File

@ -65,7 +65,7 @@ export class StorageSystem extends GameSystemWithFilter {
if (storedItem !== null) {
context.globalAlpha = storageComp.overlayOpacity;
const center = staticComp.getTileSpaceBounds().getCenter().toWorldSpace();
storedItem.draw(center.x, center.y, parameters, 30);
storedItem.drawCentered(center.x, center.y, parameters, 30);
this.storageOverlaySprite.drawCached(parameters, center.x - 15, center.y + 15, 30, 15);

View File

@ -190,7 +190,7 @@ export class WiredPinsSystem extends GameSystemWithFilter {
const value = slot.value;
if (value) {
const offset = new Vector(0, -9).rotated(effectiveRotation);
value.draw(worldPos.x + offset.x, worldPos.y + offset.y, parameters, 9);
value.drawCentered(worldPos.x + offset.x, worldPos.y + offset.y, parameters, 9);
}
// Debug view