Merge commit from tobspr master

This commit is contained in:
Pascal Grossé 2020-06-16 15:10:50 +02:00
commit 9bcdc68d78
56 changed files with 1253 additions and 510 deletions

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6463b33b2cae50d1ecb11f0a845f06633aff331a5c2c0998d9eb93e40ad576b1
size 636254
oid sha256:7d05e340acb18f7b6b6f05fa7536f14179cda54a9ead0923fbb8e39c68da148c
size 703229

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:92f3784f7a51e846da6f6fad53bc07d9525188a5133bab1a793eb6040a4c4341
size 185127
oid sha256:aac3ac709c7d6c9dc44c548a437cf9d499a0a699068307b51810d49edd9fd28e
size 220467

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 KiB

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e0cd2d82917e470202d38d32277f7519ccfd1821cb21791266539ddf07486d1b
size 7314327

View File

@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
"frame": {"x":204,"y":26,"w":13,"h":13},
"frame": {"x":95,"y":372,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -10,7 +10,7 @@
},
"sprites/belt/forward_1.png":
{
"frame": {"x":221,"y":26,"w":13,"h":13},
"frame": {"x":112,"y":372,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -18,7 +18,7 @@
},
"sprites/belt/forward_2.png":
{
"frame": {"x":238,"y":26,"w":13,"h":13},
"frame": {"x":26,"y":356,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -26,7 +26,7 @@
},
"sprites/belt/forward_3.png":
{
"frame": {"x":255,"y":26,"w":13,"h":13},
"frame": {"x":43,"y":356,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -34,7 +34,7 @@
},
"sprites/belt/forward_4.png":
{
"frame": {"x":272,"y":26,"w":13,"h":13},
"frame": {"x":26,"y":373,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -42,7 +42,7 @@
},
"sprites/belt/forward_5.png":
{
"frame": {"x":245,"y":112,"w":13,"h":13},
"frame": {"x":3,"y":375,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -50,7 +50,7 @@
},
"sprites/belt/left_0.png":
{
"frame": {"x":262,"y":112,"w":13,"h":13},
"frame": {"x":43,"y":373,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -58,7 +58,7 @@
},
"sprites/belt/left_1.png":
{
"frame": {"x":279,"y":112,"w":13,"h":13},
"frame": {"x":60,"y":375,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -66,7 +66,7 @@
},
"sprites/belt/left_2.png":
{
"frame": {"x":296,"y":112,"w":13,"h":13},
"frame": {"x":77,"y":375,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -74,7 +74,7 @@
},
"sprites/belt/left_3.png":
{
"frame": {"x":313,"y":112,"w":13,"h":13},
"frame": {"x":94,"y":389,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -82,7 +82,7 @@
},
"sprites/belt/left_4.png":
{
"frame": {"x":289,"y":26,"w":13,"h":13},
"frame": {"x":111,"y":389,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -90,7 +90,7 @@
},
"sprites/belt/left_5.png":
{
"frame": {"x":306,"y":26,"w":13,"h":13},
"frame": {"x":20,"y":390,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -98,7 +98,7 @@
},
"sprites/belt/right_0.png":
{
"frame": {"x":330,"y":112,"w":13,"h":13},
"frame": {"x":3,"y":392,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -106,7 +106,7 @@
},
"sprites/belt/right_1.png":
{
"frame": {"x":347,"y":112,"w":13,"h":13},
"frame": {"x":37,"y":390,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -114,7 +114,7 @@
},
"sprites/belt/right_2.png":
{
"frame": {"x":323,"y":26,"w":13,"h":13},
"frame": {"x":54,"y":392,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -122,7 +122,7 @@
},
"sprites/belt/right_3.png":
{
"frame": {"x":364,"y":111,"w":13,"h":13},
"frame": {"x":71,"y":392,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -130,7 +130,7 @@
},
"sprites/belt/right_4.png":
{
"frame": {"x":381,"y":111,"w":13,"h":13},
"frame": {"x":20,"y":407,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -138,7 +138,7 @@
},
"sprites/belt/right_5.png":
{
"frame": {"x":340,"y":25,"w":13,"h":13},
"frame": {"x":3,"y":409,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -146,7 +146,7 @@
},
"sprites/blueprints/belt_left.png":
{
"frame": {"x":357,"y":23,"w":13,"h":13},
"frame": {"x":37,"y":407,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -154,7 +154,7 @@
},
"sprites/blueprints/belt_right.png":
{
"frame": {"x":374,"y":23,"w":13,"h":13},
"frame": {"x":88,"y":406,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -162,7 +162,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":391,"y":23,"w":13,"h":13},
"frame": {"x":105,"y":406,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -170,7 +170,7 @@
},
"sprites/blueprints/cutter-quad.png":
{
"frame": {"x":82,"y":3,"w":76,"h":19},
"frame": {"x":3,"y":49,"w":76,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":76,"h":19},
@ -178,7 +178,7 @@
},
"sprites/blueprints/cutter.png":
{
"frame": {"x":207,"y":43,"w":36,"h":19},
"frame": {"x":3,"y":221,"w":36,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":36,"h":19},
@ -186,7 +186,7 @@
},
"sprites/blueprints/miner-chainable.png":
{
"frame": {"x":285,"y":3,"w":19,"h":19},
"frame": {"x":44,"y":175,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -194,7 +194,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":245,"y":89,"w":19,"h":19},
"frame": {"x":44,"y":198,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -202,7 +202,7 @@
},
"sprites/blueprints/mixer.png":
{
"frame": {"x":166,"y":45,"w":37,"h":19},
"frame": {"x":3,"y":175,"w":37,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":37,"h":19},
@ -210,15 +210,23 @@
},
"sprites/blueprints/painter-double.png":
{
"frame": {"x":84,"y":82,"w":38,"h":38},
"frame": {"x":84,"y":3,"w":38,"h":38},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":38},
"sourceSize": {"w":38,"h":38}
},
"sprites/blueprints/painter-mirrored.png":
{
"frame": {"x":83,"y":87,"w":38,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":19},
"sourceSize": {"w":38,"h":19}
},
"sprites/blueprints/painter-quad.png":
{
"frame": {"x":3,"y":83,"w":77,"h":19},
"frame": {"x":3,"y":3,"w":77,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":77,"h":19},
@ -226,7 +234,7 @@
},
"sprites/blueprints/painter.png":
{
"frame": {"x":82,"y":49,"w":38,"h":19},
"frame": {"x":82,"y":110,"w":38,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":19},
@ -234,7 +242,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
"frame": {"x":268,"y":89,"w":19,"h":19},
"frame": {"x":43,"y":221,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -242,7 +250,7 @@
},
"sprites/blueprints/rotater.png":
{
"frame": {"x":285,"y":66,"w":19,"h":19},
"frame": {"x":106,"y":225,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -250,7 +258,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
"frame": {"x":291,"y":89,"w":19,"h":19},
"frame": {"x":43,"y":244,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -258,7 +266,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
"frame": {"x":287,"y":43,"w":19,"h":19},
"frame": {"x":106,"y":248,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -266,7 +274,7 @@
},
"sprites/blueprints/splitter.png":
{
"frame": {"x":245,"y":3,"w":36,"h":19},
"frame": {"x":66,"y":225,"w":36,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":36,"h":19},
@ -274,7 +282,7 @@
},
"sprites/blueprints/stacker.png":
{
"frame": {"x":204,"y":3,"w":37,"h":19},
"frame": {"x":81,"y":179,"w":37,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":37,"h":19},
@ -282,7 +290,7 @@
},
"sprites/blueprints/trash-storage.png":
{
"frame": {"x":126,"y":79,"w":35,"h":38},
"frame": {"x":3,"y":267,"w":35,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":35,"h":38},
@ -290,7 +298,7 @@
},
"sprites/blueprints/trash.png":
{
"frame": {"x":308,"y":66,"w":19,"h":19},
"frame": {"x":42,"y":267,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
"frame": {"x":360,"y":89,"w":19,"h":18},
"frame": {"x":72,"y":313,"w":19,"h":18},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":19,"h":18},
@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
"frame": {"x":354,"y":3,"w":19,"h":16},
"frame": {"x":72,"y":335,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":3,"w":19,"h":16},
@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
"frame": {"x":356,"y":42,"w":19,"h":16},
"frame": {"x":95,"y":339,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":16},
@ -322,7 +330,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
"frame": {"x":377,"y":62,"w":19,"h":16},
"frame": {"x":26,"y":336,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":16},
@ -330,7 +338,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":262,"y":112,"w":13,"h":13},
"frame": {"x":43,"y":373,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -338,7 +346,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":330,"y":112,"w":13,"h":13},
"frame": {"x":3,"y":392,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -346,7 +354,7 @@
},
"sprites/buildings/belt_top.png":
{
"frame": {"x":204,"y":26,"w":13,"h":13},
"frame": {"x":95,"y":372,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -354,7 +362,7 @@
},
"sprites/buildings/cutter-quad.png":
{
"frame": {"x":82,"y":26,"w":76,"h":19},
"frame": {"x":3,"y":72,"w":76,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":76,"h":19},
@ -362,7 +370,7 @@
},
"sprites/buildings/cutter.png":
{
"frame": {"x":245,"y":66,"w":36,"h":19},
"frame": {"x":3,"y":244,"w":36,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":36,"h":19},
@ -370,7 +378,7 @@
},
"sprites/buildings/hub.png":
{
"frame": {"x":3,"y":3,"w":75,"h":76},
"frame": {"x":3,"y":95,"w":75,"h":76},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":75,"h":76},
@ -378,7 +386,7 @@
},
"sprites/buildings/miner-chainable.png":
{
"frame": {"x":314,"y":89,"w":19,"h":19},
"frame": {"x":42,"y":290,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -386,7 +394,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":310,"y":43,"w":19,"h":19},
"frame": {"x":104,"y":271,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -394,7 +402,7 @@
},
"sprites/buildings/mixer.png":
{
"frame": {"x":204,"y":68,"w":37,"h":19},
"frame": {"x":81,"y":202,"w":37,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":37,"h":19},
@ -402,15 +410,23 @@
},
"sprites/buildings/painter-double.png":
{
"frame": {"x":162,"y":3,"w":38,"h":38},
"frame": {"x":84,"y":45,"w":38,"h":38},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":38},
"sourceSize": {"w":38,"h":38}
},
"sprites/buildings/painter-mirrored.png":
{
"frame": {"x":82,"y":133,"w":38,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":19},
"sourceSize": {"w":38,"h":19}
},
"sprites/buildings/painter-quad.png":
{
"frame": {"x":3,"y":106,"w":77,"h":19},
"frame": {"x":3,"y":26,"w":77,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":77,"h":19},
@ -418,7 +434,7 @@
},
"sprites/buildings/painter.png":
{
"frame": {"x":124,"y":49,"w":38,"h":19},
"frame": {"x":82,"y":156,"w":38,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":19},
@ -426,7 +442,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
"frame": {"x":331,"y":66,"w":19,"h":19},
"frame": {"x":104,"y":294,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -434,7 +450,7 @@
},
"sprites/buildings/rotater.png":
{
"frame": {"x":337,"y":89,"w":19,"h":19},
"frame": {"x":3,"y":309,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -442,7 +458,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
"frame": {"x":308,"y":3,"w":19,"h":19},
"frame": {"x":26,"y":313,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -450,7 +466,7 @@
},
"sprites/buildings/splitter-compact.png":
{
"frame": {"x":333,"y":43,"w":19,"h":19},
"frame": {"x":3,"y":332,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -458,7 +474,7 @@
},
"sprites/buildings/splitter.png":
{
"frame": {"x":247,"y":43,"w":36,"h":19},
"frame": {"x":66,"y":248,"w":36,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":36,"h":19},
@ -466,7 +482,7 @@
},
"sprites/buildings/stacker.png":
{
"frame": {"x":204,"y":91,"w":37,"h":19},
"frame": {"x":3,"y":198,"w":37,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":37,"h":19},
@ -474,7 +490,7 @@
},
"sprites/buildings/trash-storage.png":
{
"frame": {"x":165,"y":72,"w":35,"h":38},
"frame": {"x":65,"y":271,"w":35,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":35,"h":38},
@ -482,7 +498,7 @@
},
"sprites/buildings/trash.png":
{
"frame": {"x":354,"y":66,"w":19,"h":19},
"frame": {"x":49,"y":313,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":331,"y":3,"w":19,"h":18},
"frame": {"x":95,"y":317,"w":19,"h":18},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":19,"h":18},
@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":383,"y":82,"w":19,"h":16},
"frame": {"x":3,"y":355,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":3,"w":19,"h":16},
@ -506,7 +522,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":377,"y":3,"w":19,"h":16},
"frame": {"x":49,"y":336,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":16},
@ -514,7 +530,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":379,"y":40,"w":19,"h":16},
"frame": {"x":72,"y":355,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":16},
@ -522,7 +538,7 @@
},
"sprites/debug/acceptor_slot.png":
{
"frame": {"x":82,"y":72,"w":6,"h":6},
"frame": {"x":67,"y":203,"w":6,"h":6},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":6,"h":6},
@ -530,7 +546,7 @@
},
"sprites/debug/ejector_slot.png":
{
"frame": {"x":92,"y":72,"w":6,"h":6},
"frame": {"x":67,"y":213,"w":6,"h":6},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":6,"h":6},
@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_forward.png":
{
"frame": {"x":102,"y":72,"w":3,"h":3},
"frame": {"x":122,"y":179,"w":3,"h":3},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":3,"h":3},
@ -546,7 +562,7 @@
},
"sprites/map_overview/belt_left.png":
{
"frame": {"x":109,"y":72,"w":3,"h":3},
"frame": {"x":122,"y":186,"w":3,"h":3},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":3,"h":3},
@ -554,7 +570,7 @@
},
"sprites/map_overview/belt_right.png":
{
"frame": {"x":116,"y":72,"w":3,"h":3},
"frame": {"x":122,"y":193,"w":3,"h":3},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":3,"h":3},
@ -562,15 +578,23 @@
},
"sprites/misc/deletion_marker.png":
{
"frame": {"x":187,"y":114,"w":10,"h":10},
"frame": {"x":67,"y":175,"w":10,"h":10},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":10,"h":10},
"sourceSize": {"w":10,"h":10}
},
"sprites/misc/hub_direction_indicator.png":
{
"frame": {"x":122,"y":200,"w":3,"h":3},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":3,"h":3},
"sourceSize": {"w":3,"h":3}
},
"sprites/misc/slot_bad_arrow.png":
{
"frame": {"x":187,"y":114,"w":10,"h":10},
"frame": {"x":67,"y":175,"w":10,"h":10},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":10,"h":10},
@ -578,7 +602,7 @@
},
"sprites/misc/slot_good_arrow.png":
{
"frame": {"x":201,"y":114,"w":10,"h":10},
"frame": {"x":67,"y":189,"w":10,"h":10},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":10,"h":10},
@ -586,7 +610,7 @@
},
"sprites/misc/storage_overlay.png":
{
"frame": {"x":165,"y":114,"w":18,"h":9},
"frame": {"x":95,"y":359,"w":18,"h":9},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":18,"h":9},
@ -594,7 +618,7 @@
},
"sprites/misc/waypoint.png":
{
"frame": {"x":123,"y":72,"w":3,"h":3},
"frame": {"x":122,"y":207,"w":3,"h":3},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":3,"h":3},
@ -605,8 +629,8 @@
"version": "1.0",
"image": "atlas0_10.png",
"format": "RGBA8888",
"size": {"w":407,"h":128},
"size": {"w":128,"h":425},
"scale": "0.1",
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
"smartupdate": "$TexturePacker:SmartUpdate:d89b36ef407ab57010cdc305dbead00b:d53090b6a8e7ddd3fb089e71bf9d20ca:f159918d23e5952766c6d23ab52278c6$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
"frame": {"x":1871,"y":1504,"w":100,"h":126},
"frame": {"x":1876,"y":1166,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@ -10,7 +10,7 @@
},
"sprites/belt/forward_1.png":
{
"frame": {"x":1871,"y":240,"w":100,"h":126},
"frame": {"x":1876,"y":1296,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@ -18,7 +18,7 @@
},
"sprites/belt/forward_2.png":
{
"frame": {"x":1844,"y":394,"w":100,"h":126},
"frame": {"x":1869,"y":1543,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@ -26,7 +26,7 @@
},
"sprites/belt/forward_3.png":
{
"frame": {"x":1871,"y":1634,"w":100,"h":126},
"frame": {"x":1857,"y":395,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@ -34,7 +34,7 @@
},
"sprites/belt/forward_4.png":
{
"frame": {"x":1433,"y":785,"w":100,"h":126},
"frame": {"x":1865,"y":1690,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@ -42,7 +42,7 @@
},
"sprites/belt/forward_5.png":
{
"frame": {"x":917,"y":1564,"w":100,"h":126},
"frame": {"x":920,"y":1370,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@ -50,7 +50,7 @@
},
"sprites/belt/left_0.png":
{
"frame": {"x":1021,"y":1563,"w":113,"h":113},
"frame": {"x":1870,"y":1426,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@ -58,7 +58,7 @@
},
"sprites/belt/left_1.png":
{
"frame": {"x":1138,"y":1563,"w":113,"h":113},
"frame": {"x":920,"y":1500,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@ -66,7 +66,7 @@
},
"sprites/belt/left_2.png":
{
"frame": {"x":1255,"y":1563,"w":113,"h":113},
"frame": {"x":935,"y":1617,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@ -74,7 +74,7 @@
},
"sprites/belt/left_3.png":
{
"frame": {"x":1372,"y":1562,"w":113,"h":113},
"frame": {"x":935,"y":1734,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@ -82,7 +82,7 @@
},
"sprites/belt/left_4.png":
{
"frame": {"x":1489,"y":1562,"w":113,"h":113},
"frame": {"x":1052,"y":1721,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@ -90,7 +90,7 @@
},
"sprites/belt/left_5.png":
{
"frame": {"x":1021,"y":1680,"w":113,"h":113},
"frame": {"x":1169,"y":1721,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@ -98,7 +98,7 @@
},
"sprites/belt/right_0.png":
{
"frame": {"x":1138,"y":1680,"w":113,"h":113},
"frame": {"x":1286,"y":1721,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@ -106,7 +106,7 @@
},
"sprites/belt/right_1.png":
{
"frame": {"x":1255,"y":1680,"w":113,"h":113},
"frame": {"x":1403,"y":1721,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@ -114,7 +114,7 @@
},
"sprites/belt/right_2.png":
{
"frame": {"x":1372,"y":1679,"w":113,"h":113},
"frame": {"x":1520,"y":1721,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@ -122,7 +122,7 @@
},
"sprites/belt/right_3.png":
{
"frame": {"x":1489,"y":1679,"w":113,"h":113},
"frame": {"x":1052,"y":1552,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@ -130,7 +130,7 @@
},
"sprites/belt/right_4.png":
{
"frame": {"x":1606,"y":1676,"w":113,"h":113},
"frame": {"x":1169,"y":1552,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@ -138,7 +138,7 @@
},
"sprites/belt/right_5.png":
{
"frame": {"x":1723,"y":1676,"w":113,"h":113},
"frame": {"x":1286,"y":1554,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@ -162,7 +162,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":1871,"y":1374,"w":102,"h":126},
"frame": {"x":1871,"y":240,"w":102,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":12,"y":0,"w":102,"h":126},
@ -178,7 +178,7 @@
},
"sprites/blueprints/cutter.png":
{
"frame": {"x":726,"y":979,"w":341,"h":191},
"frame": {"x":1433,"y":785,"w":341,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":23,"y":0,"w":341,"h":191},
@ -186,7 +186,7 @@
},
"sprites/blueprints/miner-chainable.png":
{
"frame": {"x":1500,"y":1368,"w":182,"h":190},
"frame": {"x":749,"y":1655,"w":182,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":182,"h":190},
@ -194,7 +194,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":1437,"y":590,"w":182,"h":190},
"frame": {"x":1690,"y":1174,"w":182,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":182,"h":190},
@ -202,7 +202,7 @@
},
"sprites/blueprints/mixer.png":
{
"frame": {"x":735,"y":590,"w":347,"h":191},
"frame": {"x":1123,"y":590,"w":347,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":18,"y":0,"w":347,"h":191},
@ -216,6 +216,14 @@
"spriteSourceSize": {"x":0,"y":0,"w":384,"h":382},
"sourceSize": {"w":384,"h":384}
},
"sprites/blueprints/painter-mirrored.png":
{
"frame": {"x":1485,"y":3,"w":384,"h":192},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":384,"h":192},
"sourceSize": {"w":384,"h":192}
},
"sprites/blueprints/painter-quad.png":
{
"frame": {"x":735,"y":3,"w":746,"h":192},
@ -226,7 +234,7 @@
},
"sprites/blueprints/painter.png":
{
"frame": {"x":1485,"y":3,"w":384,"h":192},
"frame": {"x":1483,"y":199,"w":384,"h":192},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":384,"h":192},
@ -234,7 +242,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
"frame": {"x":1116,"y":1368,"w":189,"h":191},
"frame": {"x":922,"y":1174,"w":189,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":189,"h":191},
@ -242,7 +250,7 @@
},
"sprites/blueprints/rotater.png":
{
"frame": {"x":724,"y":1564,"w":189,"h":191},
"frame": {"x":1115,"y":1173,"w":189,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":189,"h":191},
@ -250,7 +258,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
"frame": {"x":1652,"y":394,"w":188,"h":182},
"frame": {"x":1756,"y":980,"w":188,"h":182},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":188,"h":182},
@ -258,7 +266,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
"frame": {"x":1623,"y":587,"w":185,"h":182},
"frame": {"x":1306,"y":1368,"w":185,"h":182},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":4,"w":185,"h":182},
@ -266,7 +274,7 @@
},
"sprites/blueprints/splitter.png":
{
"frame": {"x":1071,"y":979,"w":340,"h":191},
"frame": {"x":726,"y":979,"w":340,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":23,"y":0,"w":340,"h":191},
@ -274,7 +282,7 @@
},
"sprites/blueprints/stacker.png":
{
"frame": {"x":1086,"y":590,"w":347,"h":191},
"frame": {"x":1474,"y":590,"w":347,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":18,"y":0,"w":347,"h":191},
@ -290,7 +298,7 @@
},
"sprites/blueprints/trash.png":
{
"frame": {"x":724,"y":1368,"w":192,"h":192},
"frame": {"x":726,"y":1174,"w":192,"h":192},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":192},
@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
"frame": {"x":1791,"y":1035,"w":183,"h":166},
"frame": {"x":1683,"y":1368,"w":183,"h":166},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":26,"w":183,"h":166},
@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
"frame": {"x":1812,"y":580,"w":182,"h":148},
"frame": {"x":192,"y":1702,"w":182,"h":148},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":44,"w":182,"h":148},
@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
"frame": {"x":1623,"y":773,"w":185,"h":148},
"frame": {"x":3,"y":1702,"w":185,"h":148},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":185,"h":148},
@ -322,7 +330,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
"frame": {"x":1812,"y":732,"w":182,"h":148},
"frame": {"x":1683,"y":1538,"w":182,"h":148},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":182,"h":148},
@ -330,7 +338,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":1021,"y":1563,"w":113,"h":113},
"frame": {"x":1870,"y":1426,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@ -338,7 +346,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":1138,"y":1680,"w":113,"h":113},
"frame": {"x":1286,"y":1721,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@ -346,7 +354,7 @@
},
"sprites/buildings/belt_top.png":
{
"frame": {"x":1871,"y":1504,"w":100,"h":126},
"frame": {"x":1876,"y":1166,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@ -362,7 +370,7 @@
},
"sprites/buildings/cutter.png":
{
"frame": {"x":726,"y":1174,"w":339,"h":190},
"frame": {"x":1070,"y":979,"w":339,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":24,"y":0,"w":339,"h":190},
@ -378,7 +386,7 @@
},
"sprites/buildings/miner-chainable.png":
{
"frame": {"x":1469,"y":395,"w":179,"h":188},
"frame": {"x":1825,"y":590,"w":179,"h":188},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":1,"w":179,"h":188},
@ -386,7 +394,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":1415,"y":979,"w":179,"h":189},
"frame": {"x":1778,"y":785,"w":179,"h":189},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":179,"h":189},
@ -408,6 +416,14 @@
"spriteSourceSize": {"x":0,"y":0,"w":384,"h":381},
"sourceSize": {"w":384,"h":384}
},
"sprites/buildings/painter-mirrored.png":
{
"frame": {"x":735,"y":590,"w":384,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":384,"h":191},
"sourceSize": {"w":384,"h":192}
},
"sprites/buildings/painter-quad.png":
{
"frame": {"x":735,"y":199,"w":744,"h":192},
@ -418,7 +434,7 @@
},
"sprites/buildings/painter.png":
{
"frame": {"x":1483,"y":199,"w":384,"h":191},
"frame": {"x":1469,"y":395,"w":384,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":384,"h":191},
@ -426,7 +442,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
"frame": {"x":1309,"y":1368,"w":187,"h":190},
"frame": {"x":1308,"y":1174,"w":187,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":187,"h":190},
@ -434,7 +450,7 @@
},
"sprites/buildings/rotater.png":
{
"frame": {"x":1412,"y":1174,"w":187,"h":190},
"frame": {"x":1499,"y":1174,"w":187,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":187,"h":190},
@ -442,7 +458,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
"frame": {"x":1598,"y":925,"w":187,"h":180},
"frame": {"x":1115,"y":1368,"w":187,"h":180},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":5,"w":187,"h":180},
@ -450,7 +466,7 @@
},
"sprites/buildings/splitter-compact.png":
{
"frame": {"x":1603,"y":1109,"w":184,"h":180},
"frame": {"x":1495,"y":1368,"w":184,"h":180},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":5,"w":184,"h":180},
@ -458,7 +474,7 @@
},
"sprites/buildings/splitter.png":
{
"frame": {"x":1069,"y":1174,"w":339,"h":190},
"frame": {"x":1413,"y":980,"w":339,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":24,"y":0,"w":339,"h":190},
@ -482,7 +498,7 @@
},
"sprites/buildings/trash.png":
{
"frame": {"x":920,"y":1368,"w":192,"h":191},
"frame": {"x":724,"y":1370,"w":192,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":192,"h":191},
@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":1791,"y":1205,"w":181,"h":165},
"frame": {"x":1495,"y":1552,"w":181,"h":165},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":27,"w":181,"h":165},
@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":1686,"y":1374,"w":181,"h":147},
"frame": {"x":564,"y":1707,"w":181,"h":147},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":45,"w":181,"h":147},
@ -506,7 +522,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":1812,"y":884,"w":182,"h":147},
"frame": {"x":378,"y":1707,"w":182,"h":147},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":0,"w":182,"h":147},
@ -514,7 +530,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":1686,"y":1525,"w":181,"h":147},
"frame": {"x":1680,"y":1690,"w":181,"h":147},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":0,"w":181,"h":147},
@ -522,7 +538,7 @@
},
"sprites/debug/acceptor_slot.png":
{
"frame": {"x":1603,"y":1293,"w":50,"h":64},
"frame": {"x":1961,"y":782,"w":50,"h":64},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":0,"w":50,"h":64},
@ -530,7 +546,7 @@
},
"sprites/debug/ejector_slot.png":
{
"frame": {"x":1606,"y":1562,"w":50,"h":64},
"frame": {"x":1961,"y":850,"w":50,"h":64},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":0,"w":50,"h":64},
@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_forward.png":
{
"frame": {"x":353,"y":1702,"w":24,"h":32},
"frame": {"x":1857,"y":525,"w":24,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":24,"h":32},
@ -546,7 +562,7 @@
},
"sprites/map_overview/belt_left.png":
{
"frame": {"x":1433,"y":915,"w":28,"h":28},
"frame": {"x":1052,"y":1669,"w":28,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":28,"h":28},
@ -554,7 +570,7 @@
},
"sprites/map_overview/belt_right.png":
{
"frame": {"x":1433,"y":947,"w":28,"h":28},
"frame": {"x":1885,"y":525,"w":28,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":28,"h":28},
@ -562,15 +578,23 @@
},
"sprites/misc/deletion_marker.png":
{
"frame": {"x":267,"y":1702,"w":82,"h":82},
"frame": {"x":1403,"y":1554,"w":82,"h":82},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":7,"w":82,"h":82},
"sourceSize": {"w":96,"h":96}
},
"sprites/misc/hub_direction_indicator.png":
{
"frame": {"x":1961,"y":918,"w":32,"h":32},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
"sourceSize": {"w":32,"h":32}
},
"sprites/misc/slot_bad_arrow.png":
{
"frame": {"x":267,"y":1702,"w":82,"h":82},
"frame": {"x":1403,"y":1554,"w":82,"h":82},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":7,"w":82,"h":82},
@ -578,7 +602,7 @@
},
"sprites/misc/slot_good_arrow.png":
{
"frame": {"x":183,"y":1702,"w":80,"h":96},
"frame": {"x":1024,"y":1369,"w":80,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":80,"h":96},
@ -586,7 +610,7 @@
},
"sprites/misc/storage_overlay.png":
{
"frame": {"x":3,"y":1702,"w":176,"h":86},
"frame": {"x":724,"y":1565,"w":176,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":4,"w":176,"h":86},
@ -594,7 +618,7 @@
},
"sprites/misc/waypoint.png":
{
"frame": {"x":1844,"y":524,"w":24,"h":32},
"frame": {"x":1637,"y":1721,"w":24,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":24,"h":32},
@ -605,8 +629,8 @@
"version": "1.0",
"image": "atlas0_100.png",
"format": "RGBA8888",
"size": {"w":1997,"h":1801},
"size": {"w":2014,"h":1857},
"scale": "1",
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
"smartupdate": "$TexturePacker:SmartUpdate:d89b36ef407ab57010cdc305dbead00b:d53090b6a8e7ddd3fb089e71bf9d20ca:f159918d23e5952766c6d23ab52278c6$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 743 KiB

After

Width:  |  Height:  |  Size: 775 KiB

View File

@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
"frame": {"x":479,"y":103,"w":28,"h":32},
"frame": {"x":825,"y":210,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -10,7 +10,7 @@
},
"sprites/belt/forward_1.png":
{
"frame": {"x":479,"y":139,"w":28,"h":32},
"frame": {"x":857,"y":210,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -18,7 +18,7 @@
},
"sprites/belt/forward_2.png":
{
"frame": {"x":479,"y":175,"w":28,"h":32},
"frame": {"x":889,"y":210,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -26,7 +26,7 @@
},
"sprites/belt/forward_3.png":
{
"frame": {"x":262,"y":331,"w":28,"h":32},
"frame": {"x":921,"y":210,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -34,7 +34,7 @@
},
"sprites/belt/forward_4.png":
{
"frame": {"x":285,"y":383,"w":28,"h":32},
"frame": {"x":546,"y":207,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -42,7 +42,7 @@
},
"sprites/belt/forward_5.png":
{
"frame": {"x":317,"y":383,"w":28,"h":32},
"frame": {"x":578,"y":206,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -50,7 +50,7 @@
},
"sprites/belt/left_0.png":
{
"frame": {"x":343,"y":159,"w":30,"h":30},
"frame": {"x":240,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -58,7 +58,7 @@
},
"sprites/belt/left_1.png":
{
"frame": {"x":343,"y":193,"w":30,"h":30},
"frame": {"x":274,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -66,7 +66,7 @@
},
"sprites/belt/left_2.png":
{
"frame": {"x":477,"y":211,"w":30,"h":30},
"frame": {"x":308,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -74,7 +74,7 @@
},
"sprites/belt/left_3.png":
{
"frame": {"x":477,"y":245,"w":30,"h":30},
"frame": {"x":342,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -82,7 +82,7 @@
},
"sprites/belt/left_4.png":
{
"frame": {"x":469,"y":279,"w":30,"h":30},
"frame": {"x":376,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -90,7 +90,7 @@
},
"sprites/belt/left_5.png":
{
"frame": {"x":3,"y":331,"w":30,"h":30},
"frame": {"x":410,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -98,7 +98,7 @@
},
"sprites/belt/right_0.png":
{
"frame": {"x":37,"y":331,"w":30,"h":30},
"frame": {"x":444,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -106,7 +106,7 @@
},
"sprites/belt/right_1.png":
{
"frame": {"x":71,"y":331,"w":30,"h":30},
"frame": {"x":478,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -114,7 +114,7 @@
},
"sprites/belt/right_2.png":
{
"frame": {"x":3,"y":296,"w":30,"h":30},
"frame": {"x":512,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -122,7 +122,7 @@
},
"sprites/belt/right_3.png":
{
"frame": {"x":37,"y":296,"w":30,"h":30},
"frame": {"x":610,"y":211,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -130,7 +130,7 @@
},
"sprites/belt/right_4.png":
{
"frame": {"x":71,"y":296,"w":30,"h":30},
"frame": {"x":644,"y":211,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -138,7 +138,7 @@
},
"sprites/belt/right_5.png":
{
"frame": {"x":105,"y":331,"w":30,"h":30},
"frame": {"x":678,"y":211,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -146,7 +146,7 @@
},
"sprites/blueprints/belt_left.png":
{
"frame": {"x":139,"y":331,"w":30,"h":30},
"frame": {"x":712,"y":211,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -154,7 +154,7 @@
},
"sprites/blueprints/belt_right.png":
{
"frame": {"x":173,"y":331,"w":30,"h":30},
"frame": {"x":746,"y":211,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -162,7 +162,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":467,"y":416,"w":28,"h":32},
"frame": {"x":1051,"y":101,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -170,7 +170,7 @@
},
"sprites/blueprints/cutter-quad.png":
{
"frame": {"x":191,"y":55,"w":184,"h":48},
"frame": {"x":3,"y":192,"w":184,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":184,"h":48},
@ -178,7 +178,7 @@
},
"sprites/blueprints/cutter.png":
{
"frame": {"x":95,"y":244,"w":87,"h":48},
"frame": {"x":662,"y":107,"w":87,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":87,"h":48},
@ -186,7 +186,7 @@
},
"sprites/blueprints/miner-chainable.png":
{
"frame": {"x":262,"y":419,"w":47,"h":48},
"frame": {"x":621,"y":159,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -194,7 +194,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":313,"y":419,"w":47,"h":48},
"frame": {"x":672,"y":159,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -202,7 +202,7 @@
},
"sprites/blueprints/mixer.png":
{
"frame": {"x":191,"y":211,"w":89,"h":48},
"frame": {"x":583,"y":55,"w":89,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":89,"h":48},
@ -210,15 +210,23 @@
},
"sprites/blueprints/painter-double.png":
{
"frame": {"x":387,"y":3,"w":96,"h":96},
"frame": {"x":191,"y":107,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
"sourceSize": {"w":96,"h":96}
},
"sprites/blueprints/painter-mirrored.png":
{
"frame": {"x":383,"y":55,"w":96,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":48},
"sourceSize": {"w":96,"h":48}
},
"sprites/blueprints/painter-quad.png":
{
"frame": {"x":3,"y":3,"w":188,"h":48},
"frame": {"x":191,"y":3,"w":188,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":188,"h":48},
@ -226,7 +234,7 @@
},
"sprites/blueprints/painter.png":
{
"frame": {"x":191,"y":159,"w":96,"h":48},
"frame": {"x":571,"y":3,"w":96,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":48},
@ -234,7 +242,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
"frame": {"x":291,"y":159,"w":48,"h":48},
"frame": {"x":954,"y":3,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -242,7 +250,7 @@
},
"sprites/blueprints/rotater.png":
{
"frame": {"x":459,"y":313,"w":48,"h":48},
"frame": {"x":859,"y":55,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -250,7 +258,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
"frame": {"x":210,"y":315,"w":48,"h":48},
"frame": {"x":844,"y":107,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -258,7 +266,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
"frame": {"x":415,"y":416,"w":47,"h":47},
"frame": {"x":825,"y":159,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":47},
@ -266,7 +274,7 @@
},
"sprites/blueprints/splitter.png":
{
"frame": {"x":186,"y":263,"w":87,"h":48},
"frame": {"x":863,"y":3,"w":87,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":87,"h":48},
@ -274,7 +282,7 @@
},
"sprites/blueprints/stacker.png":
{
"frame": {"x":284,"y":227,"w":89,"h":48},
"frame": {"x":569,"y":107,"w":89,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":89,"h":48},
@ -282,7 +290,7 @@
},
"sprites/blueprints/trash-storage.png":
{
"frame": {"x":3,"y":365,"w":85,"h":96},
"frame": {"x":391,"y":107,"w":85,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":85,"h":96},
@ -290,7 +298,7 @@
},
"sprites/blueprints/trash.png":
{
"frame": {"x":181,"y":391,"w":48,"h":48},
"frame": {"x":1006,"y":3,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
"frame": {"x":3,"y":465,"w":48,"h":43},
"frame": {"x":569,"y":159,"w":48,"h":43},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":5,"w":48,"h":43},
@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
"frame": {"x":106,"y":465,"w":48,"h":38},
"frame": {"x":927,"y":159,"w":48,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":10,"w":48,"h":38},
@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
"frame": {"x":158,"y":465,"w":48,"h":38},
"frame": {"x":979,"y":158,"w":48,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":38},
@ -322,7 +330,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
"frame": {"x":262,"y":471,"w":48,"h":38},
"frame": {"x":953,"y":201,"w":48,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":38},
@ -330,7 +338,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":343,"y":159,"w":30,"h":30},
"frame": {"x":240,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@ -338,7 +346,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":37,"y":331,"w":30,"h":30},
"frame": {"x":444,"y":207,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@ -346,7 +354,7 @@
},
"sprites/buildings/belt_top.png":
{
"frame": {"x":479,"y":103,"w":28,"h":32},
"frame": {"x":825,"y":210,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@ -354,7 +362,7 @@
},
"sprites/buildings/cutter-quad.png":
{
"frame": {"x":191,"y":107,"w":184,"h":48},
"frame": {"x":383,"y":3,"w":184,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":184,"h":48},
@ -362,7 +370,7 @@
},
"sprites/buildings/cutter.png":
{
"frame": {"x":277,"y":279,"w":87,"h":48},
"frame": {"x":768,"y":55,"w":87,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":87,"h":48},
@ -370,7 +378,7 @@
},
"sprites/buildings/hub.png":
{
"frame": {"x":3,"y":55,"w":184,"h":185},
"frame": {"x":3,"y":3,"w":184,"h":185},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":184,"h":185},
@ -378,7 +386,7 @@
},
"sprites/buildings/miner-chainable.png":
{
"frame": {"x":349,"y":365,"w":47,"h":48},
"frame": {"x":723,"y":159,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -386,7 +394,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":364,"y":417,"w":47,"h":48},
"frame": {"x":774,"y":159,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -394,7 +402,7 @@
},
"sprites/buildings/mixer.png":
{
"frame": {"x":377,"y":255,"w":88,"h":48},
"frame": {"x":771,"y":3,"w":88,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":88,"h":48},
@ -402,15 +410,23 @@
},
"sprites/buildings/painter-double.png":
{
"frame": {"x":379,"y":103,"w":96,"h":96},
"frame": {"x":291,"y":107,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
"sourceSize": {"w":96,"h":96}
},
"sprites/buildings/painter-mirrored.png":
{
"frame": {"x":483,"y":55,"w":96,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":48},
"sourceSize": {"w":96,"h":48}
},
"sprites/buildings/painter-quad.png":
{
"frame": {"x":195,"y":3,"w":188,"h":48},
"frame": {"x":191,"y":55,"w":188,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":188,"h":48},
@ -418,7 +434,7 @@
},
"sprites/buildings/painter.png":
{
"frame": {"x":377,"y":203,"w":96,"h":48},
"frame": {"x":671,"y":3,"w":96,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":48},
@ -426,7 +442,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
"frame": {"x":210,"y":443,"w":48,"h":48},
"frame": {"x":911,"y":55,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -434,7 +450,7 @@
},
"sprites/buildings/rotater.png":
{
"frame": {"x":233,"y":367,"w":48,"h":48},
"frame": {"x":896,"y":107,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -442,7 +458,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
"frame": {"x":400,"y":365,"w":48,"h":47},
"frame": {"x":948,"y":107,"w":48,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":47},
@ -450,7 +466,7 @@
},
"sprites/buildings/splitter-compact.png":
{
"frame": {"x":452,"y":365,"w":47,"h":47},
"frame": {"x":876,"y":159,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":47},
@ -458,7 +474,7 @@
},
"sprites/buildings/splitter.png":
{
"frame": {"x":368,"y":307,"w":87,"h":48},
"frame": {"x":753,"y":107,"w":87,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":87,"h":48},
@ -466,7 +482,7 @@
},
"sprites/buildings/stacker.png":
{
"frame": {"x":3,"y":244,"w":88,"h":48},
"frame": {"x":676,"y":55,"w":88,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":88,"h":48},
@ -474,7 +490,7 @@
},
"sprites/buildings/trash-storage.png":
{
"frame": {"x":92,"y":365,"w":85,"h":96},
"frame": {"x":480,"y":107,"w":85,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":85,"h":96},
@ -482,7 +498,7 @@
},
"sprites/buildings/trash.png":
{
"frame": {"x":294,"y":331,"w":48,"h":48},
"frame": {"x":963,"y":55,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":55,"y":465,"w":47,"h":42},
"frame": {"x":1015,"y":55,"w":47,"h":42},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":6,"w":47,"h":42},
@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":314,"y":471,"w":47,"h":38},
"frame": {"x":1005,"y":200,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":10,"w":47,"h":38},
@ -506,7 +522,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":365,"y":469,"w":47,"h":38},
"frame": {"x":1000,"y":107,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":38},
@ -514,7 +530,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":416,"y":467,"w":47,"h":38},
"frame": {"x":1031,"y":149,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":38},
@ -522,7 +538,7 @@
},
"sprites/debug/acceptor_slot.png":
{
"frame": {"x":487,"y":3,"w":14,"h":16},
"frame": {"x":1058,"y":31,"w":14,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":14,"h":16},
@ -530,7 +546,7 @@
},
"sprites/debug/ejector_slot.png":
{
"frame": {"x":487,"y":23,"w":14,"h":16},
"frame": {"x":806,"y":211,"w":14,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":14,"h":16},
@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_forward.png":
{
"frame": {"x":487,"y":43,"w":8,"h":8},
"frame": {"x":1051,"y":137,"w":8,"h":8},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":8,"h":8},
@ -546,7 +562,7 @@
},
"sprites/map_overview/belt_left.png":
{
"frame": {"x":499,"y":43,"w":8,"h":8},
"frame": {"x":1063,"y":137,"w":8,"h":8},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":8,"h":8},
@ -554,7 +570,7 @@
},
"sprites/map_overview/belt_right.png":
{
"frame": {"x":487,"y":55,"w":8,"h":8},
"frame": {"x":191,"y":234,"w":8,"h":8},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":8,"h":8},
@ -562,15 +578,23 @@
},
"sprites/misc/deletion_marker.png":
{
"frame": {"x":181,"y":365,"w":22,"h":22},
"frame": {"x":780,"y":211,"w":22,"h":22},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":22,"h":22},
"sourceSize": {"w":24,"h":24}
},
"sprites/misc/hub_direction_indicator.png":
{
"frame": {"x":203,"y":234,"w":8,"h":8},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":8,"h":8},
"sourceSize": {"w":8,"h":8}
},
"sprites/misc/slot_bad_arrow.png":
{
"frame": {"x":181,"y":365,"w":22,"h":22},
"frame": {"x":780,"y":211,"w":22,"h":22},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":22,"h":22},
@ -578,7 +602,7 @@
},
"sprites/misc/slot_good_arrow.png":
{
"frame": {"x":105,"y":296,"w":22,"h":24},
"frame": {"x":1058,"y":3,"w":22,"h":24},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":22,"h":24},
@ -586,7 +610,7 @@
},
"sprites/misc/storage_overlay.png":
{
"frame": {"x":131,"y":296,"w":45,"h":23},
"frame": {"x":191,"y":207,"w":45,"h":23},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":45,"h":23},
@ -594,7 +618,7 @@
},
"sprites/misc/waypoint.png":
{
"frame": {"x":499,"y":55,"w":8,"h":8},
"frame": {"x":215,"y":234,"w":8,"h":8},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":8,"h":8},
@ -605,8 +629,8 @@
"version": "1.0",
"image": "atlas0_25.png",
"format": "RGBA8888",
"size": {"w":510,"h":512},
"size": {"w":1083,"h":245},
"scale": "0.25",
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
"smartupdate": "$TexturePacker:SmartUpdate:d89b36ef407ab57010cdc305dbead00b:d53090b6a8e7ddd3fb089e71bf9d20ca:f159918d23e5952766c6d23ab52278c6$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 165 KiB

View File

@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
"frame": {"x":49,"y":1765,"w":51,"h":63},
"frame": {"x":1966,"y":3,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@ -10,7 +10,7 @@
},
"sprites/belt/forward_1.png":
{
"frame": {"x":3,"y":1902,"w":51,"h":63},
"frame": {"x":1835,"y":203,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@ -18,7 +18,7 @@
},
"sprites/belt/forward_2.png":
{
"frame": {"x":58,"y":1902,"w":51,"h":63},
"frame": {"x":1879,"y":304,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@ -26,7 +26,7 @@
},
"sprites/belt/forward_3.png":
{
"frame": {"x":113,"y":1887,"w":51,"h":63},
"frame": {"x":1934,"y":304,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@ -34,7 +34,7 @@
},
"sprites/belt/forward_4.png":
{
"frame": {"x":168,"y":1830,"w":51,"h":63},
"frame": {"x":1844,"y":381,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@ -42,7 +42,7 @@
},
"sprites/belt/forward_5.png":
{
"frame": {"x":168,"y":1897,"w":51,"h":63},
"frame": {"x":1899,"y":371,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@ -50,7 +50,7 @@
},
"sprites/belt/left_0.png":
{
"frame": {"x":104,"y":1765,"w":57,"h":57},
"frame": {"x":1890,"y":243,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@ -58,7 +58,7 @@
},
"sprites/belt/left_1.png":
{
"frame": {"x":165,"y":1769,"w":57,"h":57},
"frame": {"x":1951,"y":243,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@ -66,7 +66,7 @@
},
"sprites/belt/left_2.png":
{
"frame": {"x":104,"y":1826,"w":57,"h":57},
"frame": {"x":1783,"y":381,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@ -74,7 +74,7 @@
},
"sprites/belt/left_3.png":
{
"frame": {"x":226,"y":1782,"w":57,"h":57},
"frame": {"x":1954,"y":371,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@ -82,7 +82,7 @@
},
"sprites/belt/left_4.png":
{
"frame": {"x":287,"y":1782,"w":57,"h":57},
"frame": {"x":1954,"y":432,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@ -90,7 +90,7 @@
},
"sprites/belt/left_5.png":
{
"frame": {"x":348,"y":1835,"w":57,"h":57},
"frame": {"x":1363,"y":403,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@ -98,7 +98,7 @@
},
"sprites/belt/right_0.png":
{
"frame": {"x":409,"y":1835,"w":57,"h":57},
"frame": {"x":1424,"y":403,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@ -106,7 +106,7 @@
},
"sprites/belt/right_1.png":
{
"frame": {"x":223,"y":1896,"w":57,"h":57},
"frame": {"x":1485,"y":403,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@ -114,7 +114,7 @@
},
"sprites/belt/right_2.png":
{
"frame": {"x":284,"y":1843,"w":57,"h":57},
"frame": {"x":1546,"y":403,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@ -122,7 +122,7 @@
},
"sprites/belt/right_3.png":
{
"frame": {"x":284,"y":1904,"w":57,"h":57},
"frame": {"x":1607,"y":402,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@ -130,7 +130,7 @@
},
"sprites/belt/right_4.png":
{
"frame": {"x":345,"y":1896,"w":57,"h":57},
"frame": {"x":1668,"y":402,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@ -138,7 +138,7 @@
},
"sprites/belt/right_5.png":
{
"frame": {"x":406,"y":1896,"w":57,"h":57},
"frame": {"x":1952,"y":181,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@ -146,7 +146,7 @@
},
"sprites/blueprints/belt_left.png":
{
"frame": {"x":178,"y":1707,"w":58,"h":58},
"frame": {"x":1301,"y":400,"w":58,"h":58},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":5,"w":58,"h":58},
@ -154,7 +154,7 @@
},
"sprites/blueprints/belt_right.png":
{
"frame": {"x":370,"y":1773,"w":58,"h":58},
"frame": {"x":1890,"y":181,"w":58,"h":58},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":5,"w":58,"h":58},
@ -162,7 +162,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":3,"y":1835,"w":53,"h":63},
"frame": {"x":1151,"y":403,"w":53,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":53,"h":63},
@ -170,7 +170,7 @@
},
"sprites/blueprints/cutter-quad.png":
{
"frame": {"x":3,"y":574,"w":366,"h":96},
"frame": {"x":3,"y":374,"w":366,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":366,"h":96},
@ -178,7 +178,7 @@
},
"sprites/blueprints/cutter.png":
{
"frame": {"x":3,"y":1465,"w":172,"h":96},
"frame": {"x":1285,"y":203,"w":172,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":172,"h":96},
@ -186,7 +186,7 @@
},
"sprites/blueprints/miner-chainable.png":
{
"frame": {"x":179,"y":1507,"w":92,"h":96},
"frame": {"x":1401,"y":303,"w":92,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":96},
@ -194,7 +194,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":178,"y":1607,"w":92,"h":96},
"frame": {"x":1497,"y":303,"w":92,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":96},
@ -202,7 +202,7 @@
},
"sprites/blueprints/mixer.png":
{
"frame": {"x":296,"y":1217,"w":175,"h":96},
"frame": {"x":1143,"y":103,"w":175,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":175,"h":96},
@ -210,15 +210,23 @@
},
"sprites/blueprints/painter-double.png":
{
"frame": {"x":3,"y":774,"w":192,"h":192},
"frame": {"x":373,"y":203,"w":192,"h":192},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":192},
"sourceSize": {"w":192,"h":192}
},
"sprites/blueprints/painter-mirrored.png":
{
"frame": {"x":751,"y":103,"w":192,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":96},
"sourceSize": {"w":192,"h":96}
},
"sprites/blueprints/painter-quad.png":
{
"frame": {"x":3,"y":3,"w":374,"h":96},
"frame": {"x":373,"y":3,"w":374,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":374,"h":96},
@ -226,7 +234,7 @@
},
"sprites/blueprints/painter.png":
{
"frame": {"x":3,"y":1165,"w":192,"h":96},
"frame": {"x":1121,"y":3,"w":192,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":96},
@ -234,7 +242,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
"frame": {"x":373,"y":249,"w":96,"h":96},
"frame": {"x":1866,"y":3,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@ -242,7 +250,7 @@
},
"sprites/blueprints/rotater.png":
{
"frame": {"x":373,"y":349,"w":96,"h":96},
"frame": {"x":1675,"y":103,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@ -250,7 +258,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
"frame": {"x":370,"y":849,"w":95,"h":93},
"frame": {"x":1205,"y":303,"w":95,"h":93},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":95,"h":93},
@ -258,7 +266,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
"frame": {"x":369,"y":1120,"w":93,"h":93},
"frame": {"x":1304,"y":303,"w":93,"h":93},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":1,"w":93,"h":93},
@ -266,7 +274,7 @@
},
"sprites/blueprints/splitter.png":
{
"frame": {"x":3,"y":1565,"w":171,"h":96},
"frame": {"x":1691,"y":3,"w":171,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":171,"h":96},
@ -274,7 +282,7 @@
},
"sprites/blueprints/stacker.png":
{
"frame": {"x":296,"y":1317,"w":175,"h":96},
"frame": {"x":1106,"y":203,"w":175,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":175,"h":96},
@ -282,7 +290,7 @@
},
"sprites/blueprints/trash-storage.png":
{
"frame": {"x":199,"y":774,"w":167,"h":192},
"frame": {"x":765,"y":203,"w":167,"h":192},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":167,"h":192},
@ -290,7 +298,7 @@
},
"sprites/blueprints/trash.png":
{
"frame": {"x":373,"y":449,"w":96,"h":96},
"frame": {"x":1636,"y":203,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
"frame": {"x":199,"y":1261,"w":93,"h":84},
"frame": {"x":764,"y":399,"w":93,"h":84},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":12,"w":93,"h":84},
@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
"frame": {"x":199,"y":1349,"w":93,"h":75},
"frame": {"x":373,"y":399,"w":93,"h":75},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":21,"w":93,"h":75},
@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
"frame": {"x":369,"y":1041,"w":94,"h":75},
"frame": {"x":957,"y":399,"w":94,"h":75},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":94,"h":75},
@ -322,7 +330,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
"frame": {"x":181,"y":1428,"w":93,"h":75},
"frame": {"x":470,"y":399,"w":93,"h":75},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":93,"h":75},
@ -330,7 +338,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":104,"y":1765,"w":57,"h":57},
"frame": {"x":1890,"y":243,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@ -338,7 +346,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":409,"y":1835,"w":57,"h":57},
"frame": {"x":1424,"y":403,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@ -346,7 +354,7 @@
},
"sprites/buildings/belt_top.png":
{
"frame": {"x":49,"y":1765,"w":51,"h":63},
"frame": {"x":1966,"y":3,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@ -354,7 +362,7 @@
},
"sprites/buildings/cutter-quad.png":
{
"frame": {"x":3,"y":674,"w":366,"h":96},
"frame": {"x":751,"y":3,"w":366,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":366,"h":96},
@ -362,7 +370,7 @@
},
"sprites/buildings/cutter.png":
{
"frame": {"x":275,"y":1517,"w":171,"h":96},
"frame": {"x":1500,"y":103,"w":171,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":171,"h":96},
@ -370,7 +378,7 @@
},
"sprites/buildings/hub.png":
{
"frame": {"x":3,"y":203,"w":366,"h":367},
"frame": {"x":3,"y":3,"w":366,"h":367},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":10,"w":366,"h":367},
@ -378,7 +386,7 @@
},
"sprites/buildings/miner-chainable.png":
{
"frame": {"x":381,"y":3,"w":91,"h":95},
"frame": {"x":1593,"y":303,"w":91,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":91,"h":95},
@ -386,7 +394,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":381,"y":102,"w":91,"h":95},
"frame": {"x":1688,"y":303,"w":91,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":91,"h":95},
@ -394,7 +402,7 @@
},
"sprites/buildings/mixer.png":
{
"frame": {"x":296,"y":1417,"w":174,"h":96},
"frame": {"x":1513,"y":3,"w":174,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":174,"h":96},
@ -402,15 +410,23 @@
},
"sprites/buildings/painter-double.png":
{
"frame": {"x":3,"y":970,"w":192,"h":191},
"frame": {"x":569,"y":203,"w":192,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":191},
"sourceSize": {"w":192,"h":192}
},
"sprites/buildings/painter-mirrored.png":
{
"frame": {"x":947,"y":103,"w":192,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":96},
"sourceSize": {"w":192,"h":96}
},
"sprites/buildings/painter-quad.png":
{
"frame": {"x":3,"y":103,"w":374,"h":96},
"frame": {"x":373,"y":103,"w":374,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":374,"h":96},
@ -418,7 +434,7 @@
},
"sprites/buildings/painter.png":
{
"frame": {"x":3,"y":1265,"w":192,"h":96},
"frame": {"x":1317,"y":3,"w":192,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":96},
@ -426,7 +442,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
"frame": {"x":373,"y":649,"w":95,"h":96},
"frame": {"x":1736,"y":203,"w":95,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":95,"h":96},
@ -434,7 +450,7 @@
},
"sprites/buildings/rotater.png":
{
"frame": {"x":373,"y":749,"w":95,"h":96},
"frame": {"x":1106,"y":303,"w":95,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":95,"h":96},
@ -442,7 +458,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
"frame": {"x":370,"y":946,"w":94,"h":91},
"frame": {"x":569,"y":398,"w":94,"h":91},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":94,"h":91},
@ -450,7 +466,7 @@
},
"sprites/buildings/splitter-compact.png":
{
"frame": {"x":199,"y":1166,"w":93,"h":91},
"frame": {"x":667,"y":398,"w":93,"h":91},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":2,"w":93,"h":91},
@ -458,7 +474,7 @@
},
"sprites/buildings/splitter.png":
{
"frame": {"x":3,"y":1665,"w":171,"h":96},
"frame": {"x":1461,"y":203,"w":171,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":171,"h":96},
@ -466,7 +482,7 @@
},
"sprites/buildings/stacker.png":
{
"frame": {"x":3,"y":1365,"w":174,"h":96},
"frame": {"x":1322,"y":103,"w":174,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":174,"h":96},
@ -474,7 +490,7 @@
},
"sprites/buildings/trash-storage.png":
{
"frame": {"x":199,"y":970,"w":166,"h":192},
"frame": {"x":936,"y":203,"w":166,"h":192},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":166,"h":192},
@ -482,7 +498,7 @@
},
"sprites/buildings/trash.png":
{
"frame": {"x":373,"y":549,"w":96,"h":96},
"frame": {"x":1775,"y":103,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":274,"y":1617,"w":92,"h":83},
"frame": {"x":861,"y":399,"w":92,"h":83},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":13,"w":92,"h":83},
@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":370,"y":1617,"w":92,"h":74},
"frame": {"x":1875,"y":103,"w":92,"h":74},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":22,"w":92,"h":74},
@ -506,7 +522,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":370,"y":1695,"w":92,"h":74},
"frame": {"x":1783,"y":303,"w":92,"h":74},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":74},
@ -514,7 +530,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":274,"y":1704,"w":92,"h":74},
"frame": {"x":1055,"y":403,"w":92,"h":74},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":74},
@ -522,7 +538,7 @@
},
"sprites/debug/acceptor_slot.png":
{
"frame": {"x":240,"y":1707,"w":26,"h":32},
"frame": {"x":1989,"y":304,"w":26,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":26,"h":32},
@ -530,7 +546,7 @@
},
"sprites/debug/ejector_slot.png":
{
"frame": {"x":240,"y":1743,"w":26,"h":32},
"frame": {"x":1971,"y":116,"w":26,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":26,"h":32},
@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_forward.png":
{
"frame": {"x":181,"y":1365,"w":14,"h":16},
"frame": {"x":1208,"y":448,"w":14,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":14,"h":16},
@ -546,7 +562,7 @@
},
"sprites/map_overview/belt_left.png":
{
"frame": {"x":342,"y":1166,"w":15,"h":15},
"frame": {"x":3,"y":474,"w":15,"h":15},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":15,"h":15},
@ -554,7 +570,7 @@
},
"sprites/map_overview/belt_right.png":
{
"frame": {"x":342,"y":1185,"w":15,"h":15},
"frame": {"x":22,"y":474,"w":15,"h":15},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":15,"h":15},
@ -562,15 +578,23 @@
},
"sprites/misc/deletion_marker.png":
{
"frame": {"x":296,"y":1166,"w":42,"h":42},
"frame": {"x":1971,"y":70,"w":42,"h":42},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":3,"w":42,"h":42},
"sourceSize": {"w":48,"h":48}
},
"sprites/misc/hub_direction_indicator.png":
{
"frame": {"x":2001,"y":116,"w":16,"h":16},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":16,"h":16},
"sourceSize": {"w":16,"h":16}
},
"sprites/misc/slot_bad_arrow.png":
{
"frame": {"x":296,"y":1166,"w":42,"h":42},
"frame": {"x":1971,"y":70,"w":42,"h":42},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":3,"w":42,"h":42},
@ -578,7 +602,7 @@
},
"sprites/misc/slot_good_arrow.png":
{
"frame": {"x":3,"y":1782,"w":42,"h":48},
"frame": {"x":1729,"y":402,"w":42,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":42,"h":48},
@ -586,7 +610,7 @@
},
"sprites/misc/storage_overlay.png":
{
"frame": {"x":381,"y":201,"w":89,"h":44},
"frame": {"x":1208,"y":400,"w":89,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":89,"h":44},
@ -594,7 +618,7 @@
},
"sprites/misc/waypoint.png":
{
"frame": {"x":181,"y":1385,"w":14,"h":16},
"frame": {"x":1835,"y":270,"w":14,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":14,"h":16},
@ -605,8 +629,8 @@
"version": "1.0",
"image": "atlas0_50.png",
"format": "RGBA8888",
"size": {"w":475,"h":1968},
"size": {"w":2020,"h":492},
"scale": "0.5",
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
"smartupdate": "$TexturePacker:SmartUpdate:d89b36ef407ab57010cdc305dbead00b:d53090b6a8e7ddd3fb089e71bf9d20ca:f159918d23e5952766c6d23ab52278c6$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 KiB

After

Width:  |  Height:  |  Size: 397 KiB

View File

@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
"frame": {"x":1936,"y":151,"w":77,"h":95},
"frame": {"x":1963,"y":102,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@ -10,7 +10,7 @@
},
"sprites/belt/forward_1.png":
{
"frame": {"x":1936,"y":250,"w":77,"h":95},
"frame": {"x":1963,"y":201,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@ -18,7 +18,7 @@
},
"sprites/belt/forward_2.png":
{
"frame": {"x":1600,"y":708,"w":77,"h":95},
"frame": {"x":1967,"y":300,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@ -26,7 +26,7 @@
},
"sprites/belt/forward_3.png":
{
"frame": {"x":1544,"y":808,"w":77,"h":95},
"frame": {"x":1967,"y":399,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@ -34,7 +34,7 @@
},
"sprites/belt/forward_4.png":
{
"frame": {"x":1625,"y":807,"w":77,"h":95},
"frame": {"x":1967,"y":498,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@ -42,7 +42,7 @@
},
"sprites/belt/forward_5.png":
{
"frame": {"x":1544,"y":907,"w":77,"h":95},
"frame": {"x":1679,"y":952,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@ -50,7 +50,7 @@
},
"sprites/belt/left_0.png":
{
"frame": {"x":1680,"y":593,"w":86,"h":86},
"frame": {"x":1217,"y":969,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@ -58,7 +58,7 @@
},
"sprites/belt/left_1.png":
{
"frame": {"x":1770,"y":592,"w":86,"h":86},
"frame": {"x":1307,"y":969,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@ -66,7 +66,7 @@
},
"sprites/belt/left_2.png":
{
"frame": {"x":1860,"y":592,"w":86,"h":86},
"frame": {"x":1916,"y":597,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@ -74,7 +74,7 @@
},
"sprites/belt/left_3.png":
{
"frame": {"x":1681,"y":683,"w":86,"h":86},
"frame": {"x":1916,"y":687,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@ -82,7 +82,7 @@
},
"sprites/belt/left_4.png":
{
"frame": {"x":1771,"y":682,"w":86,"h":86},
"frame": {"x":1916,"y":777,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@ -90,7 +90,7 @@
},
"sprites/belt/left_5.png":
{
"frame": {"x":1861,"y":682,"w":86,"h":86},
"frame": {"x":1914,"y":867,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@ -98,7 +98,7 @@
},
"sprites/belt/right_0.png":
{
"frame": {"x":1706,"y":773,"w":86,"h":86},
"frame": {"x":1499,"y":852,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@ -106,7 +106,7 @@
},
"sprites/belt/right_1.png":
{
"frame": {"x":1796,"y":772,"w":86,"h":86},
"frame": {"x":1397,"y":967,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@ -114,7 +114,7 @@
},
"sprites/belt/right_2.png":
{
"frame": {"x":1886,"y":772,"w":86,"h":86},
"frame": {"x":1589,"y":862,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@ -122,7 +122,7 @@
},
"sprites/belt/right_3.png":
{
"frame": {"x":1716,"y":863,"w":86,"h":86},
"frame": {"x":1679,"y":862,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@ -130,7 +130,7 @@
},
"sprites/belt/right_4.png":
{
"frame": {"x":1806,"y":862,"w":86,"h":86},
"frame": {"x":1499,"y":942,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@ -138,7 +138,7 @@
},
"sprites/belt/right_5.png":
{
"frame": {"x":1896,"y":862,"w":86,"h":86},
"frame": {"x":1589,"y":952,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@ -146,7 +146,7 @@
},
"sprites/blueprints/belt_left.png":
{
"frame": {"x":1924,"y":349,"w":87,"h":87},
"frame": {"x":1397,"y":593,"w":87,"h":87},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":8,"w":87,"h":87},
@ -154,7 +154,7 @@
},
"sprites/blueprints/belt_right.png":
{
"frame": {"x":1625,"y":906,"w":87,"h":87},
"frame": {"x":1397,"y":684,"w":87,"h":87},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":8,"w":87,"h":87},
@ -162,7 +162,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":1517,"y":709,"w":79,"h":95},
"frame": {"x":1963,"y":3,"w":79,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":79,"h":95},
@ -186,7 +186,7 @@
},
"sprites/blueprints/miner-chainable.png":
{
"frame": {"x":1784,"y":299,"w":136,"h":143},
"frame": {"x":1827,"y":447,"w":136,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":143},
@ -194,7 +194,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":1544,"y":446,"w":136,"h":143},
"frame": {"x":1076,"y":739,"w":136,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":143},
@ -202,7 +202,7 @@
},
"sprites/blueprints/mixer.png":
{
"frame": {"x":1671,"y":151,"w":261,"h":144},
"frame": {"x":547,"y":738,"w":261,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":261,"h":144},
@ -216,6 +216,14 @@
"spriteSourceSize": {"x":0,"y":0,"w":288,"h":287},
"sourceSize": {"w":288,"h":288}
},
"sprites/blueprints/painter-mirrored.png":
{
"frame": {"x":1119,"y":150,"w":288,"h":144},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":288,"h":144},
"sourceSize": {"w":288,"h":144}
},
"sprites/blueprints/painter-quad.png":
{
"frame": {"x":555,"y":3,"w":560,"h":144},
@ -226,7 +234,7 @@
},
"sprites/blueprints/painter.png":
{
"frame": {"x":1119,"y":150,"w":288,"h":144},
"frame": {"x":1671,"y":3,"w":288,"h":144},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":288,"h":144},
@ -234,7 +242,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
"frame": {"x":1397,"y":445,"w":143,"h":144},
"frame": {"x":1639,"y":299,"w":143,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":143,"h":144},
@ -242,7 +250,7 @@
},
"sprites/blueprints/rotater.png":
{
"frame": {"x":1084,"y":594,"w":143,"h":144},
"frame": {"x":1786,"y":299,"w":143,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":143,"h":144},
@ -250,7 +258,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
"frame": {"x":1071,"y":742,"w":142,"h":138},
"frame": {"x":1071,"y":886,"w":142,"h":138},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":142,"h":138},
@ -258,7 +266,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
"frame": {"x":1217,"y":742,"w":139,"h":138},
"frame": {"x":1488,"y":594,"w":139,"h":138},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":2,"w":139,"h":138},
@ -266,7 +274,7 @@
},
"sprites/blueprints/splitter.png":
{
"frame": {"x":1119,"y":298,"w":256,"h":144},
"frame": {"x":811,"y":886,"w":256,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":17,"y":0,"w":256,"h":144},
@ -274,7 +282,7 @@
},
"sprites/blueprints/stacker.png":
{
"frame": {"x":555,"y":590,"w":261,"h":144},
"frame": {"x":847,"y":591,"w":261,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":261,"h":144},
@ -290,7 +298,7 @@
},
"sprites/blueprints/trash.png":
{
"frame": {"x":1101,"y":446,"w":144,"h":144},
"frame": {"x":1241,"y":445,"w":144,"h":144},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":144,"h":144},
@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
"frame": {"x":835,"y":885,"w":138,"h":125},
"frame": {"x":1774,"y":594,"w":138,"h":125},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":19,"w":138,"h":125},
@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
"frame": {"x":1261,"y":884,"w":138,"h":112},
"frame": {"x":1774,"y":723,"w":138,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":32,"w":138,"h":112},
@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
"frame": {"x":1118,"y":884,"w":139,"h":112},
"frame": {"x":1488,"y":736,"w":139,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":139,"h":112},
@ -322,7 +330,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
"frame": {"x":1397,"y":593,"w":138,"h":112},
"frame": {"x":1772,"y":839,"w":138,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":138,"h":112},
@ -330,7 +338,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":1680,"y":593,"w":86,"h":86},
"frame": {"x":1217,"y":969,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@ -338,7 +346,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":1706,"y":773,"w":86,"h":86},
"frame": {"x":1499,"y":852,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@ -346,7 +354,7 @@
},
"sprites/buildings/belt_top.png":
{
"frame": {"x":1936,"y":151,"w":77,"h":95},
"frame": {"x":1963,"y":102,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@ -362,7 +370,7 @@
},
"sprites/buildings/cutter.png":
{
"frame": {"x":811,"y":738,"w":256,"h":143},
"frame": {"x":1119,"y":298,"w":256,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":17,"y":0,"w":256,"h":143},
@ -378,7 +386,7 @@
},
"sprites/buildings/miner-chainable.png":
{
"frame": {"x":1684,"y":446,"w":136,"h":142},
"frame": {"x":1101,"y":445,"w":136,"h":142},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":142},
@ -386,7 +394,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":1824,"y":446,"w":136,"h":142},
"frame": {"x":1112,"y":593,"w":136,"h":142},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":142},
@ -394,7 +402,7 @@
},
"sprites/buildings/mixer.png":
{
"frame": {"x":547,"y":738,"w":260,"h":143},
"frame": {"x":812,"y":739,"w":260,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":260,"h":143},
@ -408,6 +416,14 @@
"spriteSourceSize": {"x":0,"y":0,"w":288,"h":286},
"sourceSize": {"w":288,"h":288}
},
"sprites/buildings/painter-mirrored.png":
{
"frame": {"x":1671,"y":151,"w":288,"h":144},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":288,"h":144},
"sourceSize": {"w":288,"h":144}
},
"sprites/buildings/painter-quad.png":
{
"frame": {"x":555,"y":151,"w":560,"h":144},
@ -418,7 +434,7 @@
},
"sprites/buildings/painter.png":
{
"frame": {"x":1671,"y":3,"w":288,"h":144},
"frame": {"x":555,"y":590,"w":288,"h":144},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":288,"h":144},
@ -426,7 +442,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
"frame": {"x":1231,"y":594,"w":141,"h":143},
"frame": {"x":1537,"y":447,"w":141,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":141,"h":143},
@ -434,7 +450,7 @@
},
"sprites/buildings/rotater.png":
{
"frame": {"x":1639,"y":299,"w":141,"h":143},
"frame": {"x":1682,"y":447,"w":141,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":141,"h":143},
@ -442,7 +458,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
"frame": {"x":547,"y":885,"w":141,"h":136},
"frame": {"x":1252,"y":593,"w":141,"h":136},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":3,"w":141,"h":136},
@ -450,7 +466,7 @@
},
"sprites/buildings/splitter-compact.png":
{
"frame": {"x":692,"y":885,"w":139,"h":136},
"frame": {"x":1631,"y":594,"w":139,"h":136},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":3,"w":139,"h":136},
@ -466,7 +482,7 @@
},
"sprites/buildings/stacker.png":
{
"frame": {"x":820,"y":591,"w":260,"h":143},
"frame": {"x":547,"y":886,"w":260,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":260,"h":143},
@ -482,7 +498,7 @@
},
"sprites/buildings/trash.png":
{
"frame": {"x":1249,"y":446,"w":144,"h":144},
"frame": {"x":1389,"y":445,"w":144,"h":144},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":144,"h":144},
@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":977,"y":885,"w":137,"h":124},
"frame": {"x":1631,"y":734,"w":137,"h":124},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":20,"w":137,"h":124},
@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":1539,"y":593,"w":137,"h":111},
"frame": {"x":1216,"y":739,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":33,"w":137,"h":111},
@ -506,7 +522,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":1376,"y":709,"w":137,"h":111},
"frame": {"x":1217,"y":854,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":137,"h":111},
@ -514,7 +530,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":1403,"y":824,"w":137,"h":111},
"frame": {"x":1358,"y":852,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":137,"h":111},
@ -522,7 +538,7 @@
},
"sprites/debug/acceptor_slot.png":
{
"frame": {"x":1963,"y":3,"w":38,"h":48},
"frame": {"x":2006,"y":597,"w":38,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":38,"h":48},
@ -530,7 +546,7 @@
},
"sprites/debug/ejector_slot.png":
{
"frame": {"x":1963,"y":55,"w":38,"h":48},
"frame": {"x":2006,"y":649,"w":38,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":38,"h":48},
@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_forward.png":
{
"frame": {"x":1625,"y":997,"w":20,"h":24},
"frame": {"x":1826,"y":955,"w":20,"h":24},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":20,"h":24},
@ -546,7 +562,7 @@
},
"sprites/map_overview/belt_left.png":
{
"frame": {"x":3,"y":994,"w":22,"h":22},
"frame": {"x":206,"y":994,"w":22,"h":22},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":22,"h":22},
@ -554,7 +570,7 @@
},
"sprites/map_overview/belt_right.png":
{
"frame": {"x":1963,"y":107,"w":22,"h":22},
"frame": {"x":2006,"y":701,"w":22,"h":22},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":22,"h":22},
@ -562,15 +578,23 @@
},
"sprites/misc/deletion_marker.png":
{
"frame": {"x":1716,"y":953,"w":62,"h":62},
"frame": {"x":140,"y":994,"w":62,"h":62},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":5,"w":62,"h":62},
"sourceSize": {"w":72,"h":72}
},
"sprites/misc/hub_direction_indicator.png":
{
"frame": {"x":1933,"y":299,"w":24,"h":24},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":24,"h":24},
"sourceSize": {"w":24,"h":24}
},
"sprites/misc/slot_bad_arrow.png":
{
"frame": {"x":1716,"y":953,"w":62,"h":62},
"frame": {"x":140,"y":994,"w":62,"h":62},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":5,"w":62,"h":62},
@ -578,7 +602,7 @@
},
"sprites/misc/slot_good_arrow.png":
{
"frame": {"x":1950,"y":592,"w":62,"h":72},
"frame": {"x":1760,"y":955,"w":62,"h":72},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":62,"h":72},
@ -586,7 +610,7 @@
},
"sprites/misc/storage_overlay.png":
{
"frame": {"x":1403,"y":939,"w":133,"h":66},
"frame": {"x":3,"y":994,"w":133,"h":66},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":133,"h":66},
@ -594,7 +618,7 @@
},
"sprites/misc/waypoint.png":
{
"frame": {"x":1649,"y":997,"w":20,"h":24},
"frame": {"x":1933,"y":327,"w":20,"h":24},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":20,"h":24},
@ -605,8 +629,8 @@
"version": "1.0",
"image": "atlas0_75.png",
"format": "RGBA8888",
"size": {"w":2016,"h":1024},
"size": {"w":2047,"h":1063},
"scale": "0.75",
"smartupdate": "$TexturePacker:SmartUpdate:3dd7a89f30024dd4787ad4af6b14588a:9ba11f8b02134c4376ab4e0a44f8b850:f159918d23e5952766c6d23ab52278c6$"
"smartupdate": "$TexturePacker:SmartUpdate:d89b36ef407ab57010cdc305dbead00b:d53090b6a8e7ddd3fb089e71bf9d20ca:f159918d23e5952766c6d23ab52278c6$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 735 KiB

After

Width:  |  Height:  |  Size: 779 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

View File

@ -15,6 +15,11 @@ $buildingsAndVariants: belt, splitter, splitter-compact, splitter-compact-invers
}
}
// Special case
[data-icon="building_tutorials/painter-mirrored.png"] {
background-image: uiResource("res/ui/building_tutorials/painter.png") !important;
}
$icons: notification_saved, notification_success, notification_upgrade;
@each $icon in $icons {
[data-icon="icons/#{$icon}.png"] {

View File

@ -122,6 +122,10 @@
color: #aaa;
}
a {
color: $colorBlueBright;
}
strong {
font-weight: bold;
}

View File

@ -47,6 +47,7 @@
opacity: 0.7;
@include S(margin-bottom, 1px);
font-weight: bold;
&:hover {
opacity: 1;
}
@ -63,5 +64,29 @@
transform: scale(1.5);
}
}
&.hub {
// Transform because there is a canvas before
@include S(margin-left, -2px);
grid-template-columns: auto 1fr;
background: none !important;
@include S(padding-left, 0);
canvas {
@include S(width, 12px);
@include S(height, 12px);
@include S(margin-right, 1px);
}
}
&.shapeIcon {
canvas {
@include S(width, 15px);
@include S(height, 15px);
pointer-events: none;
// Double invert, to make sure it has the right color
@include DarkThemeInvert();
}
}
}
}

View File

@ -1,4 +1,15 @@
export const CHANGELOG = [
{
version: "1.1.14",
date: "16.06.2020",
entries: [
"There is now an indicator (compass) to the HUB for the HUB Marker!",
"You can now include shape short keys in markers to render shape icons instead of text!",
"Added mirrored variant of the painter",
"When placing tunnels, unnecessary belts inbetween are now removed!",
"You can now drag tunnels and they will automatically expand! (Just try it out, its intuitive)",
],
},
{
version: "1.1.13",
date: "15.06.2020",

View File

@ -11,7 +11,7 @@ import { T } from "../../translations";
import { formatItemsPerSecond } from "../../core/utils";
/** @enum {string} */
export const enumPainterVariants = { double: "double", quad: "quad" };
export const enumPainterVariants = { mirrored: "mirrored", double: "double", quad: "quad" };
export class MetaPainterBuilding extends MetaBuilding {
constructor() {
@ -21,6 +21,7 @@ export class MetaPainterBuilding extends MetaBuilding {
getDimensions(variant) {
switch (variant) {
case defaultBuildingVariant:
case enumPainterVariants.mirrored:
return new Vector(2, 1);
case enumPainterVariants.double:
return new Vector(2, 2);
@ -42,7 +43,8 @@ export class MetaPainterBuilding extends MetaBuilding {
*/
getAdditionalStatistics(root, variant) {
switch (variant) {
case defaultBuildingVariant: {
case defaultBuildingVariant:
case enumPainterVariants.mirrored: {
const speed = root.hubGoals.getProcessorBaseSpeed(enumItemProcessorTypes.painter);
return [[T.ingame.buildingPlacement.infoTexts.speed, formatItemsPerSecond(speed)]];
}
@ -61,7 +63,7 @@ export class MetaPainterBuilding extends MetaBuilding {
* @param {GameRoot} root
*/
getAvailableVariants(root) {
let variants = [defaultBuildingVariant];
let variants = [defaultBuildingVariant, enumPainterVariants.mirrored];
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_painter_double)) {
variants.push(enumPainterVariants.double);
}
@ -116,7 +118,8 @@ export class MetaPainterBuilding extends MetaBuilding {
*/
updateVariants(entity, rotationVariant, variant) {
switch (variant) {
case defaultBuildingVariant: {
case defaultBuildingVariant:
case enumPainterVariants.mirrored: {
entity.components.ItemAcceptor.setSlots([
{
pos: new Vector(0, 0),
@ -125,7 +128,9 @@ export class MetaPainterBuilding extends MetaBuilding {
},
{
pos: new Vector(1, 0),
directions: [enumDirection.top],
directions: [
variant === defaultBuildingVariant ? enumDirection.top : enumDirection.bottom,
],
filter: enumItemAcceptorItemFilter.color,
},
]);

View File

@ -483,6 +483,10 @@ export class HUDBuildingPlacer extends BaseHUDPart {
) {
// Succesfully placed
const entity = this.root.map.getTileContent(tile);
assert(entity, "Entity was not actually placed");
this.root.signals.entityManuallyPlaced.dispatch(entity);
if (
metaBuilding.getFlipOrientationAfterPlacement() &&
!this.root.keyMapper

View File

@ -1,5 +1,5 @@
import { makeOffscreenBuffer } from "../../../core/buffer_utils";
import { Math_max } from "../../../core/builtins";
import { Math_max, Math_PI, Math_radians } from "../../../core/builtins";
import { globalConfig, IS_DEMO } from "../../../core/config";
import { DrawParameters } from "../../../core/draw_parameters";
import { Loader } from "../../../core/loader";
@ -7,7 +7,7 @@ import { DialogWithForm } from "../../../core/modal_dialog_elements";
import { FormElementInput } from "../../../core/modal_dialog_forms";
import { Rectangle } from "../../../core/rectangle";
import { STOP_PROPAGATION } from "../../../core/signal";
import { arrayDeleteValue, lerp, makeDiv, removeAllChildren } from "../../../core/utils";
import { arrayDeleteValue, lerp, makeDiv, removeAllChildren, clamp } from "../../../core/utils";
import { Vector } from "../../../core/vector";
import { T } from "../../../translations";
import { enumMouseButton } from "../../camera";
@ -15,16 +15,26 @@ import { KEYMAPPINGS } from "../../key_action_mapper";
import { BaseHUDPart } from "../base_hud_part";
import { DynamicDomAttach } from "../dynamic_dom_attach";
import { enumNotificationType } from "./notifications";
import { ShapeDefinition } from "../../shape_definition";
/** @typedef {{
* label: string,
* label: string | null,
* center: { x: number, y: number },
* zoomLevel: number,
* deletable: boolean
* zoomLevel: number
* }} Waypoint */
/**
* Used when a shape icon is rendered instead
*/
const SHAPE_LABEL_PLACEHOLDER = " ";
export class HUDWaypoints extends BaseHUDPart {
/**
* Creates the overview of waypoints
* @param {HTMLElement} parent
*/
createElements(parent) {
// Create the helper box on the lower right when zooming out
if (this.root.app.settings.getAllSettings().offerHints) {
this.hintElement = makeDiv(
parent,
@ -42,17 +52,23 @@ export class HUDWaypoints extends BaseHUDPart {
);
}
this.waypointSprite = Loader.getSprite("sprites/misc/waypoint.png");
// Create the waypoint list on the upper right
this.waypointsListElement = makeDiv(parent, "ingame_HUD_Waypoints", [], "Waypoints");
}
/**
* Serializes the waypoints
*/
serialize() {
return {
waypoints: this.waypoints,
};
}
/**
* Deserializes the waypoints
* @param {{waypoints: Array<Waypoint>}} data
*/
deserialize(data) {
if (!data || !data.waypoints || !Array.isArray(data.waypoints)) {
return "Invalid waypoints data";
@ -61,21 +77,97 @@ export class HUDWaypoints extends BaseHUDPart {
this.rerenderWaypointList();
}
/**
* Initializes everything
*/
initialize() {
// Cache the sprite for the waypoints
this.waypointSprite = Loader.getSprite("sprites/misc/waypoint.png");
this.directionIndicatorSprite = Loader.getSprite("sprites/misc/hub_direction_indicator.png");
/** @type {Array<Waypoint>}
*/
this.waypoints = [
{
label: null,
center: { x: 0, y: 0 },
zoomLevel: 3,
},
];
// Create a buffer we can use to measure text
this.dummyBuffer = makeOffscreenBuffer(1, 1, {
reusable: false,
label: "waypoints-measure-canvas",
})[1];
// Dynamically attach/detach the lower right hint in the map overview
if (this.hintElement) {
this.domAttach = new DynamicDomAttach(this.root, this.hintElement);
}
// Catch mouse and key events
this.root.camera.downPreHandler.add(this.onMouseDown, this);
this.root.keyMapper
.getBinding(KEYMAPPINGS.navigation.createMarker)
.add(this.requestCreateMarker, this);
/**
* Stores at how much opacity the markers should be rendered on the map.
* This is interpolated over multiple frames so we have some sort of fade effect
*/
this.currentMarkerOpacity = 1;
this.currentCompassOpacity = 0;
// Create buffer which is used to indicate the hub direction
const [canvas, context] = makeOffscreenBuffer(48, 48, {
smooth: true,
reusable: false,
label: "waypoints-compass",
});
this.compassBuffer = { canvas, context };
/**
* Stores a cache from a shape short key to its canvas representation
*/
this.cachedKeyToCanvas = {};
// Initial render
this.rerenderWaypointList();
}
/**
* Re-renders the waypoint list to account for changes
*/
rerenderWaypointList() {
removeAllChildren(this.waypointsListElement);
this.cleanupClickDetectors();
for (let i = 0; i < this.waypoints.length; ++i) {
const waypoint = this.waypoints[i];
const label = this.getWaypointLabel(waypoint);
const element = makeDiv(this.waypointsListElement, null, ["waypoint"]);
element.innerText = waypoint.label;
if (waypoint.deletable) {
if (ShapeDefinition.isValidShortKey(label)) {
const canvas = this.getWaypointCanvas(waypoint);
element.appendChild(canvas);
element.classList.add("shapeIcon");
} else {
element.innerText = label;
}
if (this.isWaypointDeletable(waypoint)) {
const deleteButton = makeDiv(element, null, ["deleteButton"]);
this.trackClicks(deleteButton, () => this.deleteWaypoint(waypoint));
}
if (!waypoint.label) {
// This must be the hub label
element.classList.add("hub");
element.insertBefore(this.compassBuffer.canvas, element.childNodes[0]);
}
this.trackClicks(element, () => this.moveToWaypoint(waypoint), {
targetOnly: true,
});
@ -83,6 +175,7 @@ export class HUDWaypoints extends BaseHUDPart {
}
/**
* Moves the camera to a given waypoint
* @param {Waypoint} waypoint
*/
moveToWaypoint(waypoint) {
@ -91,6 +184,7 @@ export class HUDWaypoints extends BaseHUDPart {
}
/**
* Deletes a waypoint from the list
* @param {Waypoint} waypoint
*/
deleteWaypoint(waypoint) {
@ -98,86 +192,131 @@ export class HUDWaypoints extends BaseHUDPart {
this.rerenderWaypointList();
}
initialize() {
/** @type {Array<Waypoint>}
*/
this.waypoints = [
{
label: T.ingame.waypoints.hub,
center: { x: 0, y: 0 },
zoomLevel: 3,
deletable: false,
},
];
this.dummyBuffer = makeOffscreenBuffer(1, 1, {
reusable: false,
label: "waypoints-measure-canvas",
})[1];
this.root.camera.downPreHandler.add(this.onMouseDown, this);
if (this.hintElement) {
this.domAttach = new DynamicDomAttach(this.root, this.hintElement);
/**
* Gets the canvas for a given waypoint
* @param {Waypoint} waypoint
* @returns {HTMLCanvasElement}
*/
getWaypointCanvas(waypoint) {
const key = waypoint.label;
if (this.cachedKeyToCanvas[key]) {
return this.cachedKeyToCanvas[key];
}
this.root.keyMapper
.getBinding(KEYMAPPINGS.navigation.createMarker)
.add(this.requestCreateMarker, this);
this.currentMarkerOpacity = 1;
this.rerenderWaypointList();
assert(ShapeDefinition.isValidShortKey(key), "Invalid short key: " + key);
const definition = ShapeDefinition.fromShortKey(key);
const preRendered = definition.generateAsCanvas(48);
return (this.cachedKeyToCanvas[key] = preRendered);
}
/**
* Requests to create a marker at the current camera position. If worldPos is set,
* uses that position instead.
* @param {Vector=} worldPos Override the world pos, otherwise it is the camera position
*/
requestCreateMarker(worldPos = null) {
// Construct dialog with input field
const markerNameInput = new FormElementInput({
id: "markerName",
label: null,
placeholder: "",
validator: val => val.length > 0 && val.length < 15,
validator: val => val.length > 0 && (val.length < 15 || ShapeDefinition.isValidShortKey(val)),
});
const dialog = new DialogWithForm({
app: this.root.app,
title: T.dialogs.createMarker.title,
desc: T.dialogs.createMarker.desc,
formElements: [markerNameInput],
});
this.root.hud.parts.dialogs.internalShowDialog(dialog);
// Compute where to create the marker
const center = worldPos || this.root.camera.center;
dialog.buttonSignals.ok.add(() => {
// Show info that you can have only N markers in the demo,
// actually show this *after* entering the name so you want the
// standalone even more (I'm evil :P)
if (IS_DEMO && this.waypoints.length > 2) {
this.root.hud.parts.dialogs.showFeatureRestrictionInfo("", T.dialogs.markerDemoLimit.desc);
return;
}
this.waypoints.push({
label: markerNameInput.getValue(),
center: { x: center.x, y: center.y },
zoomLevel: Math_max(this.root.camera.zoomLevel, globalConfig.mapChunkOverviewMinZoom + 0.05),
deletable: true,
});
this.waypoints.sort((a, b) => a.label.padStart(20, "0").localeCompare(b.label.padStart(20, "0")));
this.root.hud.signals.notification.dispatch(
T.ingame.waypoints.creationSuccessNotification,
enumNotificationType.success
);
this.rerenderWaypointList();
// Actually create the waypoint
this.addWaypoint(markerNameInput.getValue(), center);
});
}
/**
* Adds a new waypoint at the given location with the given label
* @param {string} label
* @param {Vector} position
*/
addWaypoint(label, position) {
this.waypoints.push({
label,
center: { x: position.x, y: position.y },
// Make sure the zoom is *just* a bit above the zoom level where the map overview
// starts, so you always see all buildings
zoomLevel: Math_max(this.root.camera.zoomLevel, globalConfig.mapChunkOverviewMinZoom + 0.05),
});
// Sort waypoints by name
this.waypoints.sort((a, b) => {
if (!a.label) {
return -1;
}
if (!b.label) {
return 1;
}
return this.getWaypointLabel(a)
.padEnd(20, "0")
.localeCompare(this.getWaypointLabel(b).padEnd(20, "0"));
});
// Show notification about creation
this.root.hud.signals.notification.dispatch(
T.ingame.waypoints.creationSuccessNotification,
enumNotificationType.success
);
// Re-render the list and thus add it
this.rerenderWaypointList();
}
/**
* Called every frame to update stuff
*/
update() {
if (this.domAttach) {
this.domAttach.update(this.root.camera.getIsMapOverlayActive());
}
}
/**
* Returns the label for a given waypoint
* @param {Waypoint} waypoint
* @returns {string}
*/
getWaypointLabel(waypoint) {
return waypoint.label || T.ingame.waypoints.hub;
}
/**
* Returns if a waypoint is deletable
* @param {Waypoint} waypoint
* @returns {boolean}
*/
isWaypointDeletable(waypoint) {
return waypoint.label !== null;
}
/**
* Finds the currently intersected waypoint on the map overview under
* the cursor.
*
* @returns {Waypoint | null}
*/
findCurrentIntersectedWaypoint() {
const mousePos = this.root.app.mousePosition;
if (!mousePos) {
@ -197,10 +336,18 @@ export class HUDWaypoints extends BaseHUDPart {
const screenPos = this.root.camera.worldToScreen(
new Vector(waypoint.center.x, waypoint.center.y)
);
let label = this.getWaypointLabel(waypoint);
// Special case for icons
if (ShapeDefinition.isValidShortKey(label)) {
label = SHAPE_LABEL_PLACEHOLDER;
}
const intersectionRect = new Rectangle(
screenPos.x - 7 * scale,
screenPos.y - 12 * scale,
15 * scale + this.dummyBuffer.measureText(waypoint.label).width,
15 * scale + this.dummyBuffer.measureText(label).width,
15 * scale
);
if (intersectionRect.containsPoint(mousePos.x, mousePos.y)) {
@ -210,7 +357,7 @@ export class HUDWaypoints extends BaseHUDPart {
}
/**
*
* Mouse-Down handler
* @param {Vector} pos
* @param {enumMouseButton} button
*/
@ -221,7 +368,7 @@ export class HUDWaypoints extends BaseHUDPart {
this.root.soundProxy.playUiClick();
this.moveToWaypoint(waypoint);
} else if (button === enumMouseButton.right) {
if (waypoint.deletable) {
if (this.isWaypointDeletable(waypoint)) {
this.root.soundProxy.playUiClick();
this.deleteWaypoint(waypoint);
} else {
@ -243,50 +390,111 @@ export class HUDWaypoints extends BaseHUDPart {
}
/**
*
* Rerenders the compass
*/
rerenderWaypointsCompass() {
const context = this.compassBuffer.context;
const dims = 48;
context.clearRect(0, 0, dims, dims);
const indicatorSize = 30;
const cameraPos = this.root.camera.center;
const distanceToHub = cameraPos.length();
const compassVisible = distanceToHub > (10 * globalConfig.tileSize) / this.root.camera.zoomLevel;
const targetCompassAlpha = compassVisible ? 1 : 0;
this.currentCompassOpacity = lerp(this.currentCompassOpacity, targetCompassAlpha, 0.08);
if (this.currentCompassOpacity > 0.01) {
context.globalAlpha = this.currentCompassOpacity;
const angle = cameraPos.angle() + Math_radians(45) + Math_PI / 2;
context.translate(dims / 2, dims / 2);
context.rotate(angle);
this.directionIndicatorSprite.drawCentered(context, 0, 0, indicatorSize);
context.rotate(-angle);
context.translate(-dims / 2, -dims / 2);
context.globalAlpha = 1;
}
const iconOpacity = 1 - this.currentCompassOpacity;
if (iconOpacity > 0.01) {
// Draw icon
context.globalAlpha = iconOpacity;
this.waypointSprite.drawCentered(context, dims / 2, dims / 2, dims * 0.7);
context.globalAlpha = 1;
}
}
/**
* Draws the waypoints on the map
* @param {DrawParameters} parameters
*/
draw(parameters) {
const desiredOpacity = this.root.camera.getIsMapOverlayActive() ? 1 : 0;
this.currentMarkerOpacity = lerp(this.currentMarkerOpacity, desiredOpacity, 0.08);
this.rerenderWaypointsCompass();
// Don't render with low opacity
if (this.currentMarkerOpacity < 0.01) {
return;
}
// Find waypoint below cursor
const selected = this.findCurrentIntersectedWaypoint();
// Determine rendering scale
const scale = (1 / this.root.camera.zoomLevel) * this.root.app.getEffectiveUiScale();
// Render all of 'em
for (let i = 0; i < this.waypoints.length; ++i) {
const waypoint = this.waypoints[i];
const pos = waypoint.center;
parameters.context.globalAlpha = this.currentMarkerOpacity * (selected === waypoint ? 1 : 0.7);
const yOffset = -5 * scale;
const originalLabel = this.getWaypointLabel(waypoint);
let renderLabel = originalLabel;
let isShapeIcon = false;
if (ShapeDefinition.isValidShortKey(originalLabel)) {
renderLabel = SHAPE_LABEL_PLACEHOLDER;
isShapeIcon = true;
}
// Render the background rectangle
parameters.context.font = "bold " + 12 * scale + "px GameFont";
parameters.context.fillStyle = "rgba(255, 255, 255, 0.7)";
parameters.context.fillRect(
pos.x - 7 * scale,
pos.y - 12 * scale,
15 * scale + this.dummyBuffer.measureText(waypoint.label).width / this.root.camera.zoomLevel,
15 * scale + this.dummyBuffer.measureText(renderLabel).width / this.root.camera.zoomLevel,
15 * scale
);
parameters.context.fillStyle = "#000";
parameters.context.textAlign = "left";
parameters.context.textBaseline = "middle";
parameters.context.fillText(waypoint.label, pos.x + 6 * scale, pos.y + 0.5 * scale + yOffset);
parameters.context.textBaseline = "alphabetic";
parameters.context.textAlign = "left";
// Render the text
if (isShapeIcon) {
const canvas = this.getWaypointCanvas(waypoint);
parameters.context.drawImage(
canvas,
pos.x + 6 * scale,
pos.y - 11.5 * scale,
14 * scale,
14 * scale
);
} else {
// Render the text
parameters.context.fillStyle = "#000";
parameters.context.textBaseline = "middle";
parameters.context.fillText(renderLabel, pos.x + 6 * scale, pos.y + 0.5 * scale + yOffset);
parameters.context.textBaseline = "alphabetic";
}
// Render the small icon on the left
this.waypointSprite.drawCentered(parameters.context, pos.x, pos.y + yOffset, 10 * scale);
}
parameters.context.globalAlpha = 1;
}
}

View File

@ -130,6 +130,7 @@ export class GameRoot {
this.signals = {
// Entities
entityManuallyPlaced: /** @type {TypedSignal<[Entity]>} */ (new Signal()),
entityAdded: /** @type {TypedSignal<[Entity]>} */ (new Signal()),
entityGotNewComponent: /** @type {TypedSignal<[Entity]>} */ (new Signal()),
entityComponentRemoved: /** @type {TypedSignal<[Entity]>} */ (new Signal()),

View File

@ -70,6 +70,12 @@ export function createSimpleShape(layers) {
return layers;
}
/**
* Cache which shapes are valid short keys and which not
* @type {Map<string, boolean>}
*/
const SHORT_KEY_CACHE = new Map();
export class ShapeDefinition extends BasicSerializableObject {
static getId() {
return "ShapeDefinition";
@ -114,6 +120,8 @@ export class ShapeDefinition extends BasicSerializableObject {
/**
* Generates the definition from the given short key
* @param {string} key
* @returns {ShapeDefinition}
*/
static fromShortKey(key) {
const sourceLayers = key.split(":");
@ -147,6 +155,81 @@ export class ShapeDefinition extends BasicSerializableObject {
return definition;
}
/**
* Checks if a given string is a valid short key
* @param {string} key
* @returns {boolean}
*/
static isValidShortKey(key) {
if (SHORT_KEY_CACHE.has(key)) {
return SHORT_KEY_CACHE.get(key);
}
const result = ShapeDefinition.isValidShortKeyInternal(key);
SHORT_KEY_CACHE.set(key, result);
return result;
}
/**
* INTERNAL
* Checks if a given string is a valid short key
* @param {string} key
* @returns {boolean}
*/
static isValidShortKeyInternal(key) {
const sourceLayers = key.split(":");
let layers = [];
for (let i = 0; i < sourceLayers.length; ++i) {
const text = sourceLayers[i];
if (text.length !== 8) {
return false;
}
/** @type {ShapeLayer} */
const quads = [null, null, null, null];
let anyFilled = false;
for (let quad = 0; quad < 4; ++quad) {
const shapeText = text[quad * 2 + 0];
const colorText = text[quad * 2 + 1];
const subShape = enumShortcodeToSubShape[shapeText];
const color = enumShortcodeToColor[colorText];
// Valid shape
if (subShape) {
if (!color) {
// Invalid color
return false;
}
quads[quad] = {
subShape,
color,
};
anyFilled = true;
} else if (shapeText === "-") {
// Make sure color is empty then, too
if (colorText !== "-") {
return false;
}
} else {
// Invalid shape key
return false;
}
}
if (!anyFilled) {
// Empty layer
return false;
}
layers.push(quads);
}
if (layers.length === 0 || layers.length > 4) {
return false;
}
return true;
}
/**
* Internal method to clone the shape definition
* @returns {Array<ShapeLayer>}

View File

@ -1,12 +1,17 @@
import { GameSystemWithFilter } from "../game_system_with_filter";
import { UndergroundBeltComponent, enumUndergroundBeltMode } from "../components/underground_belt";
import { Entity } from "../entity";
import { Loader } from "../../core/loader";
import { Math_max } from "../../core/builtins";
import { globalConfig } from "../../core/config";
import { enumDirection, enumDirectionToVector, enumDirectionToAngle } from "../../core/vector";
import { MapChunkView } from "../map_chunk_view";
import { DrawParameters } from "../../core/draw_parameters";
import { Loader } from "../../core/loader";
import {
enumDirection,
enumDirectionToAngle,
enumDirectionToVector,
Vector,
enumAngleToDirection,
enumInvertedDirections,
} from "../../core/vector";
import { enumUndergroundBeltMode, UndergroundBeltComponent } from "../components/underground_belt";
import { Entity } from "../entity";
import { GameSystemWithFilter } from "../game_system_with_filter";
export class UndergroundBeltSystem extends GameSystemWithFilter {
constructor(root) {
@ -20,6 +25,8 @@ export class UndergroundBeltSystem extends GameSystemWithFilter {
"sprites/buildings/underground_belt_exit.png"
),
};
this.root.signals.entityManuallyPlaced.add(this.onEntityPlaced, this);
}
update() {
@ -46,6 +53,135 @@ export class UndergroundBeltSystem extends GameSystemWithFilter {
}
}
/**
* Callback when an entity got placed, used to remove belts between underground belts
* @param {Entity} entity
*/
onEntityPlaced(entity) {
const undergroundComp = entity.components.UndergroundBelt;
if (undergroundComp && undergroundComp.mode === enumUndergroundBeltMode.receiver) {
const staticComp = entity.components.StaticMapEntity;
const tile = staticComp.origin;
const direction = enumAngleToDirection[staticComp.rotation];
const inverseDirection = enumInvertedDirections[direction];
const offset = enumDirectionToVector[inverseDirection];
let currentPos = tile.copy();
const tier = undergroundComp.tier;
const range = globalConfig.undergroundBeltMaxTilesByTier[tier];
// Search for the entrance which is furthes apart (this is why we can't reuse logic here)
let matchingEntrance = null;
for (let i = 0; i < range; ++i) {
currentPos.addInplace(offset);
const contents = this.root.map.getTileContent(currentPos);
if (!contents) {
continue;
}
const contentsUndergroundComp = contents.components.UndergroundBelt;
if (
contentsUndergroundComp &&
contentsUndergroundComp.tier === undergroundComp.tier &&
contentsUndergroundComp.mode === enumUndergroundBeltMode.sender
) {
matchingEntrance = {
entity: contents,
range: i,
};
}
}
if (!matchingEntrance) {
// Nothing found
return;
}
// Remove any belts between entrance and exit which have the same direction
currentPos = tile.copy();
for (let i = 0; i < matchingEntrance.range; ++i) {
currentPos.addInplace(offset);
const contents = this.root.map.getTileContent(currentPos);
if (!contents) {
continue;
}
const contentsStaticComp = contents.components.StaticMapEntity;
const contentsBeltComp = contents.components.Belt;
if (contentsBeltComp) {
// It's a belt
if (
contentsBeltComp.direction === enumDirection.top &&
enumAngleToDirection[contentsStaticComp.rotation] === direction
) {
// It's same rotation, drop it
this.root.logic.tryDeleteBuilding(contents);
}
}
}
// Remove any double tunnels, by checking the tile plus the tile above
currentPos = tile.copy().add(offset);
for (let i = 0; i < matchingEntrance.range - 1; ++i) {
const posBefore = currentPos.copy();
currentPos.addInplace(offset);
const entityBefore = this.root.map.getTileContent(posBefore);
const entityAfter = this.root.map.getTileContent(currentPos);
if (!entityBefore || !entityAfter) {
continue;
}
const undergroundBefore = entityBefore.components.UndergroundBelt;
const undergroundAfter = entityAfter.components.UndergroundBelt;
if (!undergroundBefore || !undergroundAfter) {
// Not an underground belt
continue;
}
if (
// Both same tier
undergroundBefore.tier !== undergroundAfter.tier ||
// And same tier as our original entity
undergroundBefore.tier !== undergroundComp.tier
) {
// Mismatching tier
continue;
}
if (
undergroundBefore.mode !== enumUndergroundBeltMode.sender ||
undergroundAfter.mode !== enumUndergroundBeltMode.receiver
) {
// Not the right mode
continue;
}
// Check rotations
const staticBefore = entityBefore.components.StaticMapEntity;
const staticAfter = entityAfter.components.StaticMapEntity;
if (
enumAngleToDirection[staticBefore.rotation] !== direction ||
enumAngleToDirection[staticAfter.rotation] !== direction
) {
// Wrong rotation
continue;
}
// All good, can remove
this.root.logic.tryDeleteBuilding(entityBefore);
this.root.logic.tryDeleteBuilding(entityAfter);
}
}
}
/**
*
* @param {Entity} entity

View File

@ -13,6 +13,7 @@ import { getSavegameInterface, savegameInterfaces } from "./savegame_interface_r
import { SavegameInterface_V1001 } from "./schemas/1001";
import { SavegameInterface_V1002 } from "./schemas/1002";
import { SavegameInterface_V1003 } from "./schemas/1003";
import { SavegameInterface_V1004 } from "./schemas/1004";
const logger = createLogger("savegame");
@ -44,7 +45,7 @@ export class Savegame extends ReadWriteProxy {
* @returns {number}
*/
static getCurrentVersion() {
return 1003;
return 1004;
}
/**
@ -98,6 +99,11 @@ export class Savegame extends ReadWriteProxy {
data.version = 1003;
}
if (data.version === 1003) {
SavegameInterface_V1004.migrate1003to1004(data);
data.version = 1004;
}
return ExplainedResult.good();
}

View File

@ -4,6 +4,7 @@ import { createLogger } from "../core/logging";
import { SavegameInterface_V1001 } from "./schemas/1001";
import { SavegameInterface_V1002 } from "./schemas/1002";
import { SavegameInterface_V1003 } from "./schemas/1003";
import { SavegameInterface_V1004 } from "./schemas/1004";
/** @type {Object.<number, typeof BaseSavegameInterface>} */
export const savegameInterfaces = {
@ -11,6 +12,7 @@ export const savegameInterfaces = {
1001: SavegameInterface_V1001,
1002: SavegameInterface_V1002,
1003: SavegameInterface_V1003,
1004: SavegameInterface_V1004,
};
const logger = createLogger("savegame_interface_registry");

View File

@ -0,0 +1,36 @@
import { createLogger } from "../../core/logging.js";
import { SavegameInterface_V1003 } from "./1003.js";
const schema = require("./1004.json");
const logger = createLogger("savegame_interface/1004");
export class SavegameInterface_V1004 extends SavegameInterface_V1003 {
getVersion() {
return 1004;
}
getSchemaUncached() {
return schema;
}
/**
* @param {import("../savegame_typedefs.js").SavegameData} data
*/
static migrate1003to1004(data) {
logger.log("Migrating 1003 to 1004");
const dump = data.dump;
if (!dump) {
return true;
}
// The hub simply has an empty label
const waypointData = dump.waypoints.waypoints;
for (let i = 0; i < waypointData.length; ++i) {
const waypoint = waypointData[i];
if (!waypoint.deletable) {
waypoint.label = null;
}
delete waypoint.deletable;
}
}
}

View File

@ -0,0 +1,5 @@
{
"type": "object",
"required": [],
"additionalProperties": true
}

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -480,13 +480,16 @@ buildings:
painter:
default:
name: &painter Painter
description: Colors the whole shape on the left input with the color from the top input.
description: &painter_desc Colors the whole shape on the left input with the color from the top input.
double:
name: Painter (Double)
description: Colors the shapes on the left inputs with the color from the top input.
quad:
name: Painter (Quad)
description: Allows to color each quadrant of the shape with a different color.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -731,6 +734,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -231,7 +231,7 @@ dialogs:
createMarker:
title: Nová značka
desc: Dejte jí smysluplné jméno
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: V ukázce můžete vytvořit pouze dvě značky. Získejte plnou verzi pro neomezený počet značek!
@ -461,13 +461,16 @@ buildings:
painter:
default:
name: &painter Barvič
description: Obarví celý tvar v levém vstupu barvou z pravého vstupu.
description: &painter_desc Obarví celý tvar v levém vstupu barvou z pravého vstupu.
double:
name: Barvič (dvojnásobný)
description: Obarví tvary z levých vstupů barvou z horního vstupu.
quad:
name: Barvič (čtyřnásobný)
description: Umožňuje obarvit každý dílek tvaru samostatně.
mirrored:
name: *painter
description: *painter_desc
trash:
default:

View File

@ -249,7 +249,7 @@ dialogs:
createMarker:
title: Neuer Marker
desc: Gib ihm einen sinnvollen Namen
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: Du kannst nur 2 benutzerdefinierte Marker in der Demo benutzen. Hol dir die Standalone um unendlich viele Marker zu benutzen!
@ -475,7 +475,7 @@ buildings:
painter:
default:
name: &painter Färber
description: Färbt die ganze Form aus dem linken Eingang mit der Farbe aus dem oberen Eingang.
description: &painter_desc Färbt die ganze Form aus dem linken Eingang mit der Farbe aus dem oberen Eingang.
double:
name: Färber (2-Fach)
@ -484,6 +484,9 @@ buildings:
quad:
name: Färber (4-Fach)
description: Erlaubt jedes einzelne Viertel einer Form beliebig einzufärben.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -574,12 +577,12 @@ storyRewards:
# Special reward, which is shown when there is no reward actually
no_reward:
title: Next level
title: Nächstes Level
desc: >-
This level gave you no reward, but the next one will! <br><br> PS: Better don't destroy your existing factory - You need <strong>all</strong> those shapes later again to <strong>unlock upgrades</strong>!
no_reward_freeplay:
title: Next level
title: Nächstes Level
desc: >-
Congratulations! By the way, more content is planned for the standalone!
@ -735,6 +738,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: Über dieses Spiel

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -475,13 +475,16 @@ buildings:
painter:
default:
name: &painter Painter
description: Colors the whole shape on the left input with the color from the right input.
description: &painter_desc Colors the whole shape on the left input with the color from the right input.
double:
name: Painter (Double)
description: Colors the shapes on the left inputs with the color from the top input.
quad:
name: Painter (Quad)
description: Allows to color each quadrant of the shape with a different color.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -733,6 +736,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -255,7 +255,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -478,7 +478,12 @@ buildings:
painter:
default:
name: &painter Painter
description: Colors the whole shape on the left input with the color from the top input.
description: &painter_desc Colors the whole shape on the left input with the color from the top input.
mirrored:
name: *painter
description: *painter_desc
double:
name: Painter (Double)
description: Colors the shapes on the left inputs with the color from the top input.

View File

@ -246,7 +246,7 @@ dialogs:
createMarker:
title: Nueva marca
desc: Dale un nombre representativo
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: solo puedes crear dos marcas en la versión de prueba. Obtén el juego completo para marcas ilimitadas!
@ -469,13 +469,16 @@ buildings:
painter:
default:
name: &painter Pintor
description: Colorea la figura entera con el color que entra por la izquierda.
description: &painter_desc Colorea la figura entera con el color que entra por la izquierda.
double:
name: Pintor (Doble)
description: Colorea las figuras que entran por la izquierda con el color que entrapor arriba.
quad:
name: Pintor (Cuádruple)
description: Permite colorear cada cuadrante de una figura con un color distinto.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -721,6 +724,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: Sobre el Juego

View File

@ -257,7 +257,7 @@ dialogs:
createMarker:
title: Nouvelle balise
desc: Donnez-lui un nom approprié
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: Vous ne pouvez créer que deux balises dans la démo. Achetez la version complète pour en faire tant que vous voulez !
@ -478,13 +478,16 @@ buildings:
painter:
default:
name: &painter Peintre
description: Colorie entièrement la forme de gauche avec la couleur de droite.
description: &painter_desc Colorie entièrement la forme de gauche avec la couleur de droite.
double:
name: Peintre (Double)
description: Colorie les deux formes de gauche avec la couleur de droite.
quad:
name: Peintre (Quadruple)
description: Permet de colorier chaque quadrant d'une forme avec une couleur différente.
mirrored:
name: *painter
description: *painter_desc
trash:
default:

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Adj neki egy értelmes nevet
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -475,13 +475,16 @@ buildings:
painter:
default:
name: &painter Painter
description: Colors the whole shape on the left input with the color from the right input.
description: &painter_desc Colors the whole shape on the left input with the color from the right input.
double:
name: Painter (Double)
description: Colors the shapes on the left inputs with the color from the top input.
quad:
name: Painter (Quad)
description: Allows to color each quadrant of the shape with a different color.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -732,6 +735,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: A játékról

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -475,13 +475,16 @@ buildings:
painter:
default:
name: &painter Painter
description: Colors the whole shape on the left input with the color from the right input.
description: &painter_desc Colors the whole shape on the left input with the color from the right input.
double:
name: Painter (Double)
description: Colors the shapes on the left inputs with the color from the top input.
quad:
name: Painter (Quad)
description: Allows to color each quadrant of the shape with a different color.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -733,6 +736,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -249,7 +249,7 @@ dialogs:
createMarker:
title: マーカーを設置
desc: わかりやすい名前をつけてください。
desc: わかりやすい名前をつけてください。形を表す<strong>短いキー</strong>を含めることもできます。(<a href="https://viewer.shapez.io" target="_blank">ここ</a>から生成できます)
markerDemoLimit:
desc: デモ版ではマーカー設置は2つまでに制限されています。スタンドアローン版は無制限です
@ -479,13 +479,16 @@ buildings:
painter:
default:
name: &painter 着色機
description: 左から入力された形の全体を、右から入力された色で着色します。
description: &painter_desc 左から入力された形の全体を、右から入力された色で着色します。
double:
name: 着色機 (ダブル)
description: 左から入力された形を、上から入力された色で着色します。
quad:
name: 着色機 (四分割)
description: 入力された形を四分割づつ別の色で塗り分けられます。
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -537,7 +540,7 @@ storyRewards:
reward_underground_belt_tier_2:
title: トンネル レベルII
desc: <strong>トンネル</strong>のバリエーションが利用可能になりました。 - <strong>距離拡張版が追加され<strong>、以前のものと組み合わせて目的に応じて利用することができます!
desc: <strong>トンネル</strong>のバリエーションが利用可能になりました。 - <strong>距離拡張版が追加され</strong>、以前のものと組み合わせて目的に応じて利用することができます!
reward_splitter_compact:
title: 合流機 (コンパクト)
@ -546,7 +549,7 @@ storyRewards:
reward_cutter_quad:
title: 四分割
desc: <strong>切断機</strong>のバリエーションが利用可能になりました。 - 上下の二分割ではなく、<strong>四分割<strong>に切断できます!
desc: <strong>切断機</strong>のバリエーションが利用可能になりました。 - 上下の二分割ではなく、<strong>四分割</strong>に切断できます!
reward_painter_double:
title: 着色機 (ダブル)
@ -566,7 +569,7 @@ storyRewards:
reward_blueprints:
title: ブループリント
desc: 工場の建造物の<strong>コピー&ペースト</strong>が利用可能になりました! 範囲選択(CTRLキーを押したままマウスドラッグ)した状態で、'C'キーを押すことでコピーができます。<br><br>ペーストは<strong>タダではありません。ブループリントの形</strong>を生産することで可能になります!(たった今納品したものです)
desc: 工場の建造物の<strong>コピー&ペースト</strong>が利用可能になりました! 範囲選択(CTRLキーを押したままマウスドラッグ)した状態で、'C'キーを押すことでコピーができます。<br><br>ペーストは<strong>タダではありません。</strong><strong>ブループリントの形</strong>を生産することで可能になります!(たった今納品したものです)
# Special reward, which is shown when there is no reward actually
no_reward:
@ -732,6 +735,7 @@ keybindings:
pasteLastBlueprint: 直前のブループリントをペーストする
massSelectCut: 範囲カット
exportScreenshot: 工場の全体像を画像出力
mapMoveFaster: より速く移動
about:
title: このゲームについて

View File

@ -255,7 +255,7 @@ dialogs:
createMarker:
title: 새로운 마커
desc: 의미 있는 이름을 지어주세요
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: 데모 버전에서는 마커를 2개 까지만 놓을 수 있습니다. 유료 버전을 구입하면 마커를 무제한으로 놓을 수 있습니다!
@ -480,13 +480,16 @@ buildings:
painter:
default:
name: &painter 도형 색칠기
description: 도형을 색소로 색칠한다.
description: &painter_desc 도형을 색소로 색칠한다.
double:
name: 2단 도형 색칠기
description: 왼쪽에 입력되는 도형을 위에서 입력되는 색소로 색칠한다.
quad:
name: 4단 도형 색칠기
description: 도형의 4가지 분단을 각각 다른 색으로 색칠할 수 있다.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -733,6 +736,7 @@ keybindings:
placeMultiple: 배치 모드에 있기
placeInverse: 자동 벨트 회전 뒤집기
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: 이 게임의 정보

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -480,13 +480,16 @@ buildings:
painter:
default:
name: &painter Painter
description: Colors the whole shape on the left input with the color from the top input.
description: &painter_desc Colors the whole shape on the left input with the color from the top input.
double:
name: Painter (Double)
description: Colors the shapes on the left inputs with the color from the top input.
quad:
name: Painter (Quad)
description: Allows to color each quadrant of the shape with a different color.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -732,6 +735,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: Nieuwe markering
desc: Geef het een betekenisvolle naam
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: Je kunt maar twee markeringen plaatsen in de demo. Koop de standalone voor een ongelimiteerde hoeveelheid markeringen!
@ -340,13 +340,13 @@ ingame:
dataSources:
stored:
title: In opslag
description: Geeft weer hoe veel vormen er zijn opgeslagen in je centrale gebouw.
description: Geeft weer hoe veel vormen er zijn opgeslagen in de HUB.
produced:
title: Geproduceerd
description: Geeft alle vormen weer die op dit moment geproduceerd worden, inclusief tussenproducten.
delivered:
title: Geleverd
description: Geeft alle vormen weer die in het centrale gebouw worden bezorgd.
description: Geeft alle vormen weer die in de HUB worden bezorgd.
noShapesProduced: Er zijn nog geen vormen geproduceerd.
# Displays the shapes per minute, e.g. '523 / m'
@ -372,7 +372,7 @@ ingame:
# When placing a blueprint
blueprintPlacer:
cost: Kost
cost: Prijs
# Map markers
waypoints:
@ -385,7 +385,7 @@ ingame:
interactiveTutorial:
title: Tutorial
hints:
1_1_extractor: Plaats een <strong>extractor</strong> op een <strong>cirkelvorm</strong> om deze te onttrekken!
1_1_extractor: Plaats een <strong>ontginner</strong> op een <strong>cirkelvorm</strong> om deze te ontginnen!
1_2_conveyor: >-
Verbind de extractor met een <strong>lopende band</strong> aan je hub!<br><br>Tip: <strong>Klik en sleep</strong> de lopende band met je muis!
@ -395,10 +395,10 @@ ingame:
# All shop upgrades
shopUpgrades:
belt:
name: Lopende banden, Verdeler & Tunnels
name: Banden, Verdeler & Tunnels
description: Snelheid x<currentMult> → x<newMult>
miner:
name: Extractor
name: Ontginner
description: Snelheid x<currentMult> → x<newMult>
processors:
name: Knippen, draaien & stapelen
@ -417,11 +417,11 @@ buildings:
miner: # Internal name for the Extractor
default:
name: &miner Extractor
description: Plaats op een vorm of kleur om deze te onttrekken.
description: Plaats op een vorm of kleur om deze te ontginnen.
chainable:
name: Extractor (Ketting)
description: Plaats op een vorm of kleur om deze te onttrekken. Kan in serie worden geplaatst.
description: Plaats op een vorm of kleur om deze te ontginnen. Kan achter elkaar worden geplaatst.
underground_belt: # Internal name for the Tunnel
default:
@ -474,13 +474,16 @@ buildings:
painter:
default:
name: &painter Verver
description: Verft de volledige vorm in de linker input met de kleur van de rechter input.
description: &painter_desc Verft de volledige vorm in de linker input met de kleur van de rechter input.
double:
name: Verver (Dubbel)
description: Verft de vormen in de linker inputs met de kleur van de rechter input.
quad:
name: Verver (Quad)
description: Verft elke kwart van de vorm een andere kleur.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -732,6 +735,7 @@ keybindings:
pasteLastBlueprint: Plak laatst gekopiëerde blauwdruk
massSelectCut: Knip geselecteerd gebied
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: Over dit spel

View File

@ -55,7 +55,7 @@ steamPage:
Spillet er åpen kildekode - Alle kan bidra! Utenom det, så lytter jeg [b]veldig[/b] til samfunnet! Jeg prøver å lese alle forslag og ta imot så mye tilbakemeldinger som mulig.
[list]
[*] Kampanje
[*] Kampanje
[*] Flere nivåer & bygninger (Frittstående eksklusivt)
[*] Forskjellige brett, og kanskje hinder på brettet
[*] Konfigurerbart brett-generasjon (Endre antall og størrelse på ressursfelt, seed, med mer)
@ -255,7 +255,7 @@ dialogs:
createMarker:
title: Ny Markør
desc: Gi markøren et meningsfylt navn
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: Du kan kun ha to markører i demo verjsonen. Skaff deg frittstående versjon for ubegrensede markører!
@ -478,13 +478,16 @@ buildings:
painter:
default:
name: &painter Maler
description: Maler hele objektet på venstre inngang med fargen fra øverste inngang.
description: &painter_desc Maler hele objektet på venstre inngang med fargen fra øverste inngang.
double:
name: Maler (Dobbel)
description: Maler hele objektet på venstre inngang med fargen fra øverste inngang.
quad:
name: Maler (Fireganger)
description: Farger enhver kvadrant av objektet med forskjellige farger.
mirrored:
name: *painter
description: *painter_desc
trash:
default:

View File

@ -254,7 +254,7 @@ dialogs:
createMarker:
title: Nowy Znacznik
desc: Nadaj nazwę
desc: Podaj nazwę znacznika. Możesz w niej zawrzeć <strong>kod kształtu</strong>, który możesz wygenerować <a href="https://viewer.shapez.io" target="_blank">tutaj</a>.
markerDemoLimit:
desc: Możesz stworzyć tylko dwa własne znaczniki w wersji demo. Zakup pełną wersję gry dla nielimitowanych znaczników!
@ -489,13 +489,16 @@ buildings:
# 2nd translator's note: All those buildings had different descriptions in english. Don't change them all to the same description.
default:
name: &painter Malarz
description: Koloruje kształt za pomocą koloru dostarczonego od boku.
description: &painter_desc Koloruje kształt za pomocą koloru dostarczonego od boku.
double:
name: Malarz (Podwójny)
description: Koloruje kształt za pomocą koloru dostarczonych od boku. Koloruje 2 kształty używając 1 barwnika.
quad:
name: Malarz (Poczwórny)
description: Koloruje każdą ćwiarkę kształtu na inny kolor, używając dostarczonych kolorów.
mirrored:
name: *painter
description: *painter_desc
trash:
default:

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: Nova Marcação
desc: Dê um nome relevante
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: >-
Você só pode criar dois marcadores na versão demo. Adquira a versão completa para marcadores ilimitados!
@ -477,13 +477,16 @@ buildings:
painter:
default:
name: &painter Pintor
description: Colore a forma inteira na entrada esquerda com a cor da entrada direita.
description: &painter_desc Colore a forma inteira na entrada esquerda com a cor da entrada direita.
double:
name: Pintor (Duplo)
description: Colore as duas formas na entrada esquerda com a cor da entrada direita.
quad:
name: Pintor (Quádruplo)
description: Permite colorir cada quadrante da forma com uma cor diferente.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -733,6 +736,7 @@ keybindings:
pasteLastBlueprint: Colar último projeto
massSelectCut: Cortar área
exportScreenshot: Exportar base inteira como imagem
mapMoveFaster: Move Faster
about:
title: Sobre o jogo

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: Novo marco
desc: Dá-lhe um nome com significado
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: Apenas podes criar dois marcos na versão Demo. Adquire o jogo completo para colocar marcos infinitos!
@ -474,13 +474,16 @@ buildings:
painter:
default:
name: &painter Pintor
description: Pinta a forma geométrica da entrada esquerda com a cor da entrada superior.
description: &painter_desc Pinta a forma geométrica da entrada esquerda com a cor da entrada superior.
double:
name: Pintor (Duplo)
description: Pinta as formas geométricas das entradas esquerdas com a cor da entrada superior.
quad:
name: Pintor (Quádruplo)
description: Pinta cada quadrante da forma geométrica com uma cor diferente.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -731,6 +734,7 @@ keybindings:
pasteLastBlueprint: Colar o último blueprint
massSelectCut: Cortar área
exportScreenshot: Exportar a base como uma imagem
mapMoveFaster: Move Faster
about:
title: Sobre o jogo
body: >-

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -475,13 +475,16 @@ buildings:
painter:
default:
name: &painter Painter
description: Colors the whole shape on the left input with the color from the right input.
description: &painter_desc Colors the whole shape on the left input with the color from the right input.
double:
name: Painter (Double)
description: Colors the shapes on the left inputs with the color from the top input.
quad:
name: Painter (Quad)
description: Allows to color each quadrant of the shape with a different color.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -732,6 +735,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -227,7 +227,7 @@ dialogs:
title: Улучшения открыты!
desc: >-
Все формы, которые вы производите, могут быть использованы для разблокировки
улучшений - <strong>Не разрушайте свои старые фабрики!</strong>
улучшений - <strong>Не разрушайте свои старые фабрики!</strong>
Вкладка обновлений находится в правом верхнем углу экрана.
massDeleteConfirm:
title: Подтвердить удаление
@ -250,21 +250,21 @@ dialogs:
createMarker:
title: Новый маркер
desc: Напишите содержательное имя.
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: Вы можете создать только 2 своих маркера в демо версии. Приобретите полную версию для безлимитных маркеров.
massCutConfirm:
title: Подтвердите вырезку
desc: >-
Вы вырезаете много зданий (точнее: <count>)! Вы уверены,
Вы вырезаете много зданий (точнее: <count>)! Вы уверены,
что хотите это сделать?
exportScreenshotWarning:
title: Экспорт скриншота
desc: >-
Вы запросили экспортировать вашу базу в виде скриншота. Обратите внимание,
что это может быть довольно медленным процессом для большой базы
что это может быть довольно медленным процессом для большой базы
и даже привести к аварийному завершению игры!
ingame:
@ -397,7 +397,7 @@ ingame:
# All shop upgrades
shopUpgrades:
belt:
name: Конвейеры, Расделители & Туннели
name: Конвейеры, Разделители & Туннели
description: Скорость x<currentMult> → x<newMult>
miner:
name: Добыча
@ -476,13 +476,16 @@ buildings:
painter:
default:
name: &painter Покрасчик
description: Красит всю фигуру из левого входа красителем из верхнего.
description: &painter_desc Красит всю фигуру из левого входа красителем из верхнего.
double:
name: Покрасчик (Двойной)
description: Красит фигуру из левых входов красителем из верхнего.
quad:
name: Покрасчик (Четырехпоточный)
description: Позволяет раскрасить каждую четверть фигуры разными цветами.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -652,7 +655,7 @@ settings:
alwaysMultiplace:
title: Многократное размещение
description: >-
Если включено, все здания останутся выбранными после размещения, пока вы не отмените выбор. Это эквивалентно постоянному удержанию SHIFT.
Если включено, все здания останутся выбранными после размещения, пока вы не отмените выбор. Это эквивалентно постоянному удержанию SHIFT.
offerHints:
title: Подсказки & Обучение
@ -733,6 +736,7 @@ keybindings:
pasteLastBlueprint: Вставить последний чертеж
massSelectCut: Вырезать область
exportScreenshot: Экспорт всей Базы в виде Изображения
mapMoveFaster: Move Faster
about:
title: О игре
@ -751,7 +755,7 @@ about:
target="_blank">Peppsen</a> - Он потрясающий.<br><br>
Наконец, огромное спасибо моему лучшему другу <a
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Без наших
href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Без наших
игровых сессий в factorio эта игра никогда не существовала бы.
changelog:

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -475,13 +475,16 @@ buildings:
painter:
default:
name: &painter Painter
description: Colors the whole shape on the left input with the color from the right input.
description: &painter_desc Colors the whole shape on the left input with the color from the right input.
double:
name: Painter (Double)
description: Colors the shapes on the left inputs with the color from the top input.
quad:
name: Painter (Quad)
description: Allows to color each quadrant of the shape with a different color.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -732,6 +735,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -480,13 +480,16 @@ buildings:
painter:
default:
name: &painter Painter
description: Colors the whole shape on the left input with the color from the right input.
description: &painter_desc Colors the whole shape on the left input with the color from the right input.
double:
name: Painter (Double)
description: Colors the shapes on the left inputs with the color from the top input.
quad:
name: Painter (Quad)
description: Allows to color each quadrant of the shape with a different color.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -733,6 +736,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -475,13 +475,16 @@ buildings:
painter:
default:
name: &painter Painter
description: Colors the whole shape on the left input with the color from the right input.
description: &painter_desc Colors the whole shape on the left input with the color from the right input.
double:
name: Painter (Double)
description: Colors the shapes on the left inputs with the color from the top input.
quad:
name: Painter (Quad)
description: Allows to color each quadrant of the shape with a different color.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -732,6 +735,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -250,7 +250,7 @@ dialogs:
createMarker:
title: New Marker
desc: Give it a meaningful name
desc: Give it a meaningful name, you can also include a <strong>short key</strong> of a shape (Which you can generate <a href="https://viewer.shapez.io" target="_blank">here</a>)
markerDemoLimit:
desc: You can only create two custom markers in the demo. Get the standalone for unlimited markers!
@ -475,13 +475,16 @@ buildings:
painter:
default:
name: &painter Painter
description: Colors the whole shape on the left input with the color from the right input.
description: &painter_desc Colors the whole shape on the left input with the color from the right input.
double:
name: Painter (Double)
description: Colors the shapes on the left inputs with the color from the top input.
quad:
name: Painter (Quad)
description: Allows to color each quadrant of the shape with a different color.
mirrored:
name: *painter
description: *painter_desc
trash:
default:
@ -732,6 +735,7 @@ keybindings:
pasteLastBlueprint: Paste last blueprint
massSelectCut: Cut area
exportScreenshot: Export whole Base as Image
mapMoveFaster: Move Faster
about:
title: About this Game

View File

@ -1 +1 @@
1.1.13
1.1.14