diff --git a/artwork/buildings/buildings_2x2.psd b/artwork/buildings/buildings_2x2.psd
index ccc1d523..027486dd 100644
Binary files a/artwork/buildings/buildings_2x2.psd and b/artwork/buildings/buildings_2x2.psd differ
diff --git a/artwork/buildings/buildings_3x3.psd b/artwork/buildings/buildings_3x3.psd
new file mode 100644
index 00000000..51f1c9b9
Binary files /dev/null and b/artwork/buildings/buildings_3x3.psd differ
diff --git a/artwork/ui/storage_overlay.psd b/artwork/ui/storage_overlay.psd
new file mode 100644
index 00000000..6e073f52
Binary files /dev/null and b/artwork/ui/storage_overlay.psd differ
diff --git a/res_built/atlas/atlas0_10.json b/res_built/atlas/atlas0_10.json
index 5dcf222f..15caddac 100644
--- a/res_built/atlas/atlas0_10.json
+++ b/res_built/atlas/atlas0_10.json
@@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
- "frame": {"x":105,"y":202,"w":13,"h":13},
+ "frame": {"x":160,"y":26,"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":67,"y":262,"w":13,"h":13},
+ "frame": {"x":177,"y":26,"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":84,"y":262,"w":13,"h":13},
+ "frame": {"x":194,"y":26,"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":101,"y":262,"w":13,"h":13},
+ "frame": {"x":211,"y":26,"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":72,"y":279,"w":13,"h":13},
+ "frame": {"x":228,"y":26,"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":72,"y":296,"w":13,"h":13},
+ "frame": {"x":245,"y":26,"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":89,"y":279,"w":13,"h":13},
+ "frame": {"x":167,"y":112,"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":72,"y":313,"w":13,"h":13},
+ "frame": {"x":184,"y":112,"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":89,"y":296,"w":13,"h":13},
+ "frame": {"x":201,"y":112,"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":72,"y":330,"w":13,"h":13},
+ "frame": {"x":262,"y":26,"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":89,"y":313,"w":13,"h":13},
+ "frame": {"x":279,"y":26,"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":72,"y":347,"w":13,"h":13},
+ "frame": {"x":218,"y":112,"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":72,"y":364,"w":13,"h":13},
+ "frame": {"x":235,"y":112,"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":89,"y":330,"w":13,"h":13},
+ "frame": {"x":296,"y":26,"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":89,"y":347,"w":13,"h":13},
+ "frame": {"x":252,"y":112,"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":89,"y":364,"w":13,"h":13},
+ "frame": {"x":269,"y":112,"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":106,"y":279,"w":13,"h":13},
+ "frame": {"x":313,"y":26,"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":106,"y":296,"w":13,"h":13},
+ "frame": {"x":330,"y":26,"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":106,"y":313,"w":13,"h":13},
+ "frame": {"x":286,"y":112,"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":106,"y":330,"w":13,"h":13},
+ "frame": {"x":347,"y":26,"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":106,"y":347,"w":13,"h":13},
+ "frame": {"x":303,"y":112,"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":3,"y":152,"w":76,"h":19},
+ "frame": {"x":87,"y":82,"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":84,"y":87,"w":36,"h":19},
+ "frame": {"x":209,"y":66,"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":45,"y":83,"w":19,"h":19},
+ "frame": {"x":286,"y":43,"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":45,"y":198,"w":19,"h":19},
+ "frame": {"x":249,"y":89,"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":83,"y":156,"w":37,"h":19},
+ "frame": {"x":205,"y":43,"w":37,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":37,"h":19},
@@ -210,7 +210,7 @@
},
"sprites/blueprints/painter-double.png":
{
- "frame": {"x":82,"y":3,"w":38,"h":38},
+ "frame": {"x":3,"y":83,"w":38,"h":38},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":38},
@@ -218,7 +218,7 @@
},
"sprites/blueprints/painter-quad.png":
{
- "frame": {"x":3,"y":106,"w":77,"h":19},
+ "frame": {"x":82,"y":45,"w":77,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":77,"h":19},
@@ -226,7 +226,7 @@
},
"sprites/blueprints/painter.png":
{
- "frame": {"x":3,"y":83,"w":38,"h":19},
+ "frame": {"x":163,"y":43,"w":38,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":19},
@@ -234,7 +234,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
- "frame": {"x":44,"y":221,"w":19,"h":19},
+ "frame": {"x":272,"y":89,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@@ -242,7 +242,7 @@
},
"sprites/blueprints/rotater.png":
{
- "frame": {"x":3,"y":290,"w":19,"h":19},
+ "frame": {"x":289,"y":66,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@@ -250,7 +250,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
- "frame": {"x":44,"y":244,"w":19,"h":19},
+ "frame": {"x":309,"y":43,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@@ -258,7 +258,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
- "frame": {"x":43,"y":267,"w":19,"h":19},
+ "frame": {"x":322,"y":3,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@@ -266,7 +266,7 @@
},
"sprites/blueprints/splitter.png":
{
- "frame": {"x":84,"y":110,"w":36,"h":19},
+ "frame": {"x":246,"y":43,"w":36,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":36,"h":19},
@@ -274,15 +274,23 @@
},
"sprites/blueprints/stacker.png":
{
- "frame": {"x":83,"y":179,"w":37,"h":19},
+ "frame": {"x":241,"y":3,"w":37,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":37,"h":19},
"sourceSize": {"w":38,"h":19}
},
+"sprites/blueprints/trash-storage.png":
+{
+ "frame": {"x":82,"y":3,"w":35,"h":38},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":0,"w":35,"h":38},
+ "sourceSize": {"w":38,"h":38}
+},
"sprites/blueprints/trash.png":
{
- "frame": {"x":3,"y":313,"w":19,"h":19},
+ "frame": {"x":345,"y":3,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@@ -290,7 +298,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
- "frame": {"x":3,"y":359,"w":19,"h":18},
+ "frame": {"x":378,"y":26,"w":19,"h":18},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":19,"h":18},
@@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
- "frame": {"x":49,"y":359,"w":19,"h":16},
+ "frame": {"x":341,"y":89,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":3,"w":19,"h":16},
@@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
- "frame": {"x":82,"y":202,"w":19,"h":16},
+ "frame": {"x":341,"y":109,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":16},
@@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
- "frame": {"x":67,"y":222,"w":19,"h":16},
+ "frame": {"x":364,"y":70,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":16},
@@ -322,7 +330,7 @@
},
"sprites/buildings/belt_left.png":
{
- "frame": {"x":89,"y":279,"w":13,"h":13},
+ "frame": {"x":167,"y":112,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@@ -330,7 +338,7 @@
},
"sprites/buildings/belt_right.png":
{
- "frame": {"x":72,"y":364,"w":13,"h":13},
+ "frame": {"x":235,"y":112,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@@ -338,7 +346,7 @@
},
"sprites/buildings/belt_top.png":
{
- "frame": {"x":105,"y":202,"w":13,"h":13},
+ "frame": {"x":160,"y":26,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@@ -346,7 +354,7 @@
},
"sprites/buildings/cutter-quad.png":
{
- "frame": {"x":3,"y":175,"w":76,"h":19},
+ "frame": {"x":87,"y":105,"w":76,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":76,"h":19},
@@ -354,7 +362,7 @@
},
"sprites/buildings/cutter.png":
{
- "frame": {"x":84,"y":133,"w":36,"h":19},
+ "frame": {"x":282,"y":3,"w":36,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":36,"h":19},
@@ -370,7 +378,7 @@
},
"sprites/buildings/miner-chainable.png":
{
- "frame": {"x":26,"y":290,"w":19,"h":19},
+ "frame": {"x":295,"y":89,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@@ -378,7 +386,7 @@
},
"sprites/buildings/miner.png":
{
- "frame": {"x":3,"y":336,"w":19,"h":19},
+ "frame": {"x":312,"y":66,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@@ -386,7 +394,7 @@
},
"sprites/buildings/mixer.png":
{
- "frame": {"x":3,"y":221,"w":37,"h":19},
+ "frame": {"x":167,"y":89,"w":37,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":37,"h":19},
@@ -394,7 +402,7 @@
},
"sprites/buildings/painter-double.png":
{
- "frame": {"x":82,"y":45,"w":38,"h":38},
+ "frame": {"x":45,"y":83,"w":38,"h":38},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":38},
@@ -402,7 +410,7 @@
},
"sprites/buildings/painter-quad.png":
{
- "frame": {"x":3,"y":129,"w":77,"h":19},
+ "frame": {"x":160,"y":3,"w":77,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":77,"h":19},
@@ -410,7 +418,7 @@
},
"sprites/buildings/painter.png":
{
- "frame": {"x":3,"y":198,"w":38,"h":19},
+ "frame": {"x":167,"y":66,"w":38,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":38,"h":19},
@@ -418,7 +426,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
- "frame": {"x":26,"y":313,"w":19,"h":19},
+ "frame": {"x":332,"y":43,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@@ -426,7 +434,7 @@
},
"sprites/buildings/rotater.png":
{
- "frame": {"x":26,"y":336,"w":19,"h":19},
+ "frame": {"x":318,"y":89,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@@ -434,7 +442,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
- "frame": {"x":49,"y":290,"w":19,"h":19},
+ "frame": {"x":335,"y":66,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@@ -442,7 +450,7 @@
},
"sprites/buildings/splitter-compact.png":
{
- "frame": {"x":49,"y":313,"w":19,"h":19},
+ "frame": {"x":355,"y":43,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@@ -450,7 +458,7 @@
},
"sprites/buildings/splitter.png":
{
- "frame": {"x":3,"y":267,"w":36,"h":19},
+ "frame": {"x":249,"y":66,"w":36,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":36,"h":19},
@@ -458,15 +466,23 @@
},
"sprites/buildings/stacker.png":
{
- "frame": {"x":3,"y":244,"w":37,"h":19},
+ "frame": {"x":208,"y":89,"w":37,"h":19},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":37,"h":19},
"sourceSize": {"w":38,"h":19}
},
+"sprites/buildings/trash-storage.png":
+{
+ "frame": {"x":121,"y":3,"w":35,"h":38},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":2,"y":0,"w":35,"h":38},
+ "sourceSize": {"w":38,"h":38}
+},
"sprites/buildings/trash.png":
{
- "frame": {"x":49,"y":336,"w":19,"h":19},
+ "frame": {"x":378,"y":3,"w":19,"h":19},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":19},
@@ -474,7 +490,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
- "frame": {"x":26,"y":359,"w":19,"h":18},
+ "frame": {"x":378,"y":48,"w":19,"h":18},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":19,"h":18},
@@ -482,7 +498,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
- "frame": {"x":67,"y":242,"w":19,"h":16},
+ "frame": {"x":387,"y":70,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":3,"w":19,"h":16},
@@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
- "frame": {"x":90,"y":222,"w":19,"h":16},
+ "frame": {"x":364,"y":90,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":16},
@@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
- "frame": {"x":90,"y":242,"w":19,"h":16},
+ "frame": {"x":387,"y":90,"w":19,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":19,"h":16},
@@ -506,7 +522,7 @@
},
"sprites/debug/acceptor_slot.png":
{
- "frame": {"x":68,"y":212,"w":6,"h":6},
+ "frame": {"x":132,"y":68,"w":6,"h":6},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":6,"h":6},
@@ -514,7 +530,7 @@
},
"sprites/debug/ejector_slot.png":
{
- "frame": {"x":106,"y":364,"w":6,"h":6},
+ "frame": {"x":142,"y":68,"w":6,"h":6},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":6,"h":6},
@@ -522,7 +538,7 @@
},
"sprites/map_overview/belt_forward.png":
{
- "frame": {"x":106,"y":374,"w":3,"h":3},
+ "frame": {"x":152,"y":68,"w":3,"h":3},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":3,"h":3},
@@ -530,7 +546,7 @@
},
"sprites/map_overview/belt_left.png":
{
- "frame": {"x":113,"y":374,"w":3,"h":3},
+ "frame": {"x":152,"y":75,"w":3,"h":3},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":3,"h":3},
@@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_right.png":
{
- "frame": {"x":68,"y":97,"w":3,"h":3},
+ "frame": {"x":159,"y":68,"w":3,"h":3},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":3,"h":3},
@@ -546,7 +562,7 @@
},
"sprites/misc/deletion_marker.png":
{
- "frame": {"x":68,"y":83,"w":10,"h":10},
+ "frame": {"x":82,"y":68,"w":10,"h":10},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":10,"h":10},
@@ -554,7 +570,7 @@
},
"sprites/misc/slot_bad_arrow.png":
{
- "frame": {"x":68,"y":83,"w":10,"h":10},
+ "frame": {"x":82,"y":68,"w":10,"h":10},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":10,"h":10},
@@ -562,19 +578,27 @@
},
"sprites/misc/slot_good_arrow.png":
{
- "frame": {"x":68,"y":198,"w":10,"h":10},
+ "frame": {"x":96,"y":68,"w":10,"h":10},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":10,"h":10},
"sourceSize": {"w":10,"h":10}
+},
+"sprites/misc/storage_overlay.png":
+{
+ "frame": {"x":110,"y":68,"w":18,"h":9},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":18,"h":9},
+ "sourceSize": {"w":18,"h":9}
}},
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "1.0",
"image": "atlas0_10.png",
"format": "RGBA8888",
- "size": {"w":123,"h":380},
+ "size": {"w":409,"h":128},
"scale": "0.1",
- "smartupdate": "$TexturePacker:SmartUpdate:74461fa20e58ea6d62ee3dd3add52778:b1a366c7a8668dcf22b90fcff95a3dba:f159918d23e5952766c6d23ab52278c6$"
+ "smartupdate": "$TexturePacker:SmartUpdate:c2a63b817240ea11b013f390be5c690a:0c1b9b304a864f030526d8b9e8ae3352:f159918d23e5952766c6d23ab52278c6$"
}
}
diff --git a/res_built/atlas/atlas0_10.png b/res_built/atlas/atlas0_10.png
index 5e6ceb33..c674ee9c 100644
Binary files a/res_built/atlas/atlas0_10.png and b/res_built/atlas/atlas0_10.png differ
diff --git a/res_built/atlas/atlas0_100.json b/res_built/atlas/atlas0_100.json
index 2c642803..4a92f8a0 100644
--- a/res_built/atlas/atlas0_100.json
+++ b/res_built/atlas/atlas0_100.json
@@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
- "frame": {"x":1658,"y":1248,"w":100,"h":126},
+ "frame": {"x":1871,"y":1504,"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":1762,"y":1248,"w":100,"h":126},
+ "frame": {"x":1871,"y":240,"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":1773,"y":1495,"w":100,"h":126},
+ "frame": {"x":1844,"y":394,"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":1866,"y":1229,"w":100,"h":126},
+ "frame": {"x":1871,"y":1634,"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":1892,"y":1359,"w":100,"h":126},
+ "frame": {"x":1433,"y":785,"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":1877,"y":1495,"w":100,"h":126},
+ "frame": {"x":917,"y":1564,"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":121,"y":1512,"w":113,"h":113},
+ "frame": {"x":1021,"y":1563,"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":1873,"y":122,"w":113,"h":113},
+ "frame": {"x":1138,"y":1563,"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":1659,"y":780,"w":113,"h":113},
+ "frame": {"x":1255,"y":1563,"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":1659,"y":897,"w":113,"h":113},
+ "frame": {"x":1372,"y":1562,"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":1659,"y":1014,"w":113,"h":113},
+ "frame": {"x":1489,"y":1562,"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":1657,"y":1131,"w":113,"h":113},
+ "frame": {"x":1021,"y":1680,"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":322,"y":1515,"w":113,"h":113},
+ "frame": {"x":1138,"y":1680,"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":439,"y":1515,"w":113,"h":113},
+ "frame": {"x":1255,"y":1680,"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":556,"y":1515,"w":113,"h":113},
+ "frame": {"x":1372,"y":1679,"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":1658,"y":1378,"w":113,"h":113},
+ "frame": {"x":1489,"y":1679,"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":1656,"y":1495,"w":113,"h":113},
+ "frame": {"x":1606,"y":1676,"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":1775,"y":1378,"w":113,"h":113},
+ "frame": {"x":1723,"y":1676,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@@ -146,7 +146,7 @@
},
"sprites/blueprints/belt_left.png":
{
- "frame": {"x":3,"y":1512,"w":114,"h":114},
+ "frame": {"x":1873,"y":122,"w":114,"h":114},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":12,"w":114,"h":114},
@@ -162,7 +162,7 @@
},
"sprites/blueprints/belt_top.png":
{
- "frame": {"x":1871,"y":239,"w":102,"h":126},
+ "frame": {"x":1871,"y":1374,"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":354,"y":1320,"w":341,"h":191},
+ "frame": {"x":726,"y":979,"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":1469,"y":395,"w":182,"h":190},
+ "frame": {"x":1500,"y":1368,"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":1655,"y":394,"w":182,"h":190},
+ "frame": {"x":1437,"y":590,"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":3,"y":1317,"w":347,"h":191},
+ "frame": {"x":735,"y":590,"w":347,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":18,"y":0,"w":347,"h":191},
@@ -234,7 +234,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
- "frame": {"x":1279,"y":979,"w":189,"h":191},
+ "frame": {"x":1116,"y":1368,"w":189,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":189,"h":191},
@@ -242,7 +242,7 @@
},
"sprites/blueprints/rotater.png":
{
- "frame": {"x":1279,"y":1174,"w":189,"h":191},
+ "frame": {"x":724,"y":1564,"w":189,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":189,"h":191},
@@ -250,7 +250,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
- "frame": {"x":699,"y":1363,"w":188,"h":182},
+ "frame": {"x":1652,"y":394,"w":188,"h":182},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":188,"h":182},
@@ -258,7 +258,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
- "frame": {"x":1840,"y":588,"w":185,"h":182},
+ "frame": {"x":1623,"y":587,"w":185,"h":182},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":4,"w":185,"h":182},
@@ -266,7 +266,7 @@
},
"sprites/blueprints/splitter.png":
{
- "frame": {"x":391,"y":931,"w":340,"h":191},
+ "frame": {"x":1071,"y":979,"w":340,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":23,"y":0,"w":340,"h":191},
@@ -274,15 +274,23 @@
},
"sprites/blueprints/stacker.png":
{
- "frame": {"x":1123,"y":590,"w":347,"h":191},
+ "frame": {"x":1086,"y":590,"w":347,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":18,"y":0,"w":347,"h":191},
"sourceSize": {"w":384,"h":192}
},
+"sprites/blueprints/trash-storage.png":
+{
+ "frame": {"x":391,"y":931,"w":331,"h":384},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":29,"y":0,"w":331,"h":384},
+ "sourceSize": {"w":384,"h":384}
+},
"sprites/blueprints/trash.png":
{
- "frame": {"x":1083,"y":979,"w":192,"h":192},
+ "frame": {"x":724,"y":1368,"w":192,"h":192},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":192},
@@ -290,7 +298,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
- "frame": {"x":1472,"y":933,"w":183,"h":166},
+ "frame": {"x":1791,"y":1035,"w":183,"h":166},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":26,"w":183,"h":166},
@@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
- "frame": {"x":1470,"y":1423,"w":182,"h":148},
+ "frame": {"x":1812,"y":580,"w":182,"h":148},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":44,"w":182,"h":148},
@@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
- "frame": {"x":1840,"y":774,"w":185,"h":148},
+ "frame": {"x":1623,"y":773,"w":185,"h":148},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":185,"h":148},
@@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
- "frame": {"x":1776,"y":926,"w":182,"h":148},
+ "frame": {"x":1812,"y":732,"w":182,"h":148},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":182,"h":148},
@@ -322,7 +330,7 @@
},
"sprites/buildings/belt_left.png":
{
- "frame": {"x":121,"y":1512,"w":113,"h":113},
+ "frame": {"x":1021,"y":1563,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":13,"w":113,"h":113},
@@ -330,7 +338,7 @@
},
"sprites/buildings/belt_right.png":
{
- "frame": {"x":322,"y":1515,"w":113,"h":113},
+ "frame": {"x":1138,"y":1680,"w":113,"h":113},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":13,"w":113,"h":113},
@@ -338,7 +346,7 @@
},
"sprites/buildings/belt_top.png":
{
- "frame": {"x":1658,"y":1248,"w":100,"h":126},
+ "frame": {"x":1871,"y":1504,"w":100,"h":126},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":100,"h":126},
@@ -354,7 +362,7 @@
},
"sprites/buildings/cutter.png":
{
- "frame": {"x":740,"y":975,"w":339,"h":190},
+ "frame": {"x":726,"y":1174,"w":339,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":24,"y":0,"w":339,"h":190},
@@ -370,7 +378,7 @@
},
"sprites/buildings/miner-chainable.png":
{
- "frame": {"x":1657,"y":588,"w":179,"h":188},
+ "frame": {"x":1469,"y":395,"w":179,"h":188},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":1,"w":179,"h":188},
@@ -378,7 +386,7 @@
},
"sprites/buildings/miner.png":
{
- "frame": {"x":1474,"y":589,"w":179,"h":189},
+ "frame": {"x":1415,"y":979,"w":179,"h":189},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":179,"h":189},
@@ -386,7 +394,7 @@
},
"sprites/buildings/mixer.png":
{
- "frame": {"x":1123,"y":785,"w":345,"h":190},
+ "frame": {"x":735,"y":785,"w":345,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":19,"y":0,"w":345,"h":190},
@@ -394,7 +402,7 @@
},
"sprites/buildings/painter-double.png":
{
- "frame": {"x":735,"y":590,"w":384,"h":381},
+ "frame": {"x":3,"y":1317,"w":384,"h":381},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":384,"h":381},
@@ -418,7 +426,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
- "frame": {"x":891,"y":1363,"w":187,"h":190},
+ "frame": {"x":1309,"y":1368,"w":187,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":187,"h":190},
@@ -426,7 +434,7 @@
},
"sprites/buildings/rotater.png":
{
- "frame": {"x":1082,"y":1370,"w":187,"h":190},
+ "frame": {"x":1412,"y":1174,"w":187,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":187,"h":190},
@@ -434,7 +442,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
- "frame": {"x":1279,"y":1369,"w":187,"h":180},
+ "frame": {"x":1598,"y":925,"w":187,"h":180},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":5,"w":187,"h":180},
@@ -442,7 +450,7 @@
},
"sprites/buildings/splitter-compact.png":
{
- "frame": {"x":1841,"y":394,"w":184,"h":180},
+ "frame": {"x":1603,"y":1109,"w":184,"h":180},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":5,"w":184,"h":180},
@@ -450,7 +458,7 @@
},
"sprites/buildings/splitter.png":
{
- "frame": {"x":740,"y":1169,"w":339,"h":190},
+ "frame": {"x":1069,"y":1174,"w":339,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":24,"y":0,"w":339,"h":190},
@@ -458,15 +466,23 @@
},
"sprites/buildings/stacker.png":
{
- "frame": {"x":391,"y":1126,"w":345,"h":190},
+ "frame": {"x":1084,"y":785,"w":345,"h":190},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":19,"y":0,"w":345,"h":190},
"sourceSize": {"w":384,"h":192}
},
+"sprites/buildings/trash-storage.png":
+{
+ "frame": {"x":391,"y":1319,"w":329,"h":384},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":30,"y":0,"w":329,"h":384},
+ "sourceSize": {"w":384,"h":384}
+},
"sprites/buildings/trash.png":
{
- "frame": {"x":1083,"y":1175,"w":192,"h":191},
+ "frame": {"x":920,"y":1368,"w":192,"h":191},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":192,"h":191},
@@ -474,7 +490,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
- "frame": {"x":1472,"y":1103,"w":181,"h":165},
+ "frame": {"x":1791,"y":1205,"w":181,"h":165},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":27,"w":181,"h":165},
@@ -482,7 +498,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
- "frame": {"x":1474,"y":782,"w":181,"h":147},
+ "frame": {"x":1686,"y":1374,"w":181,"h":147},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":45,"w":181,"h":147},
@@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
- "frame": {"x":1472,"y":1272,"w":182,"h":147},
+ "frame": {"x":1812,"y":884,"w":182,"h":147},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":0,"w":182,"h":147},
@@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
- "frame": {"x":1776,"y":1078,"w":181,"h":147},
+ "frame": {"x":1686,"y":1525,"w":181,"h":147},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":0,"w":181,"h":147},
@@ -506,7 +522,7 @@
},
"sprites/debug/acceptor_slot.png":
{
- "frame": {"x":1776,"y":780,"w":50,"h":64},
+ "frame": {"x":1603,"y":1293,"w":50,"h":64},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":0,"w":50,"h":64},
@@ -514,7 +530,7 @@
},
"sprites/debug/ejector_slot.png":
{
- "frame": {"x":759,"y":1549,"w":50,"h":64},
+ "frame": {"x":1606,"y":1562,"w":50,"h":64},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":0,"w":50,"h":64},
@@ -522,7 +538,7 @@
},
"sprites/map_overview/belt_forward.png":
{
- "frame": {"x":1962,"y":926,"w":24,"h":32},
+ "frame": {"x":354,"y":1702,"w":24,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":24,"h":32},
@@ -530,7 +546,7 @@
},
"sprites/map_overview/belt_left.png":
{
- "frame": {"x":699,"y":1320,"w":28,"h":28},
+ "frame": {"x":1844,"y":524,"w":28,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":28,"h":28},
@@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_right.png":
{
- "frame": {"x":1991,"y":3,"w":28,"h":28},
+ "frame": {"x":1433,"y":915,"w":28,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":28,"h":28},
@@ -546,7 +562,7 @@
},
"sprites/misc/deletion_marker.png":
{
- "frame": {"x":673,"y":1549,"w":82,"h":82},
+ "frame": {"x":268,"y":1702,"w":82,"h":82},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":7,"w":82,"h":82},
@@ -554,7 +570,7 @@
},
"sprites/misc/slot_bad_arrow.png":
{
- "frame": {"x":673,"y":1549,"w":82,"h":82},
+ "frame": {"x":268,"y":1702,"w":82,"h":82},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":7,"y":7,"w":82,"h":82},
@@ -562,19 +578,27 @@
},
"sprites/misc/slot_good_arrow.png":
{
- "frame": {"x":238,"y":1512,"w":80,"h":96},
+ "frame": {"x":184,"y":1702,"w":80,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":80,"h":96},
"sourceSize": {"w":96,"h":96}
+},
+"sprites/misc/storage_overlay.png":
+{
+ "frame": {"x":3,"y":1702,"w":177,"h":86},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":177,"h":86},
+ "sourceSize": {"w":177,"h":86}
}},
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "1.0",
"image": "atlas0_100.png",
"format": "RGBA8888",
- "size": {"w":2028,"h":1634},
+ "size": {"w":1997,"h":1801},
"scale": "1",
- "smartupdate": "$TexturePacker:SmartUpdate:74461fa20e58ea6d62ee3dd3add52778:b1a366c7a8668dcf22b90fcff95a3dba:f159918d23e5952766c6d23ab52278c6$"
+ "smartupdate": "$TexturePacker:SmartUpdate:c2a63b817240ea11b013f390be5c690a:0c1b9b304a864f030526d8b9e8ae3352:f159918d23e5952766c6d23ab52278c6$"
}
}
diff --git a/res_built/atlas/atlas0_100.png b/res_built/atlas/atlas0_100.png
index 3922f69f..5c833849 100644
Binary files a/res_built/atlas/atlas0_100.png and b/res_built/atlas/atlas0_100.png differ
diff --git a/res_built/atlas/atlas0_25.json b/res_built/atlas/atlas0_25.json
index 5a64f9bf..86aa0060 100644
--- a/res_built/atlas/atlas0_25.json
+++ b/res_built/atlas/atlas0_25.json
@@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
- "frame": {"x":925,"y":89,"w":28,"h":32},
+ "frame": {"x":493,"y":55,"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":925,"y":125,"w":28,"h":32},
+ "frame": {"x":525,"y":55,"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":801,"y":201,"w":28,"h":32},
+ "frame": {"x":557,"y":55,"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":833,"y":201,"w":28,"h":32},
+ "frame": {"x":589,"y":55,"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":865,"y":201,"w":28,"h":32},
+ "frame": {"x":621,"y":55,"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":897,"y":203,"w":28,"h":32},
+ "frame": {"x":653,"y":55,"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":191,"y":207,"w":30,"h":30},
+ "frame": {"x":717,"y":55,"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":915,"y":55,"w":30,"h":30},
+ "frame": {"x":751,"y":55,"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":225,"y":207,"w":30,"h":30},
+ "frame": {"x":785,"y":55,"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":259,"y":207,"w":30,"h":30},
+ "frame": {"x":819,"y":55,"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":293,"y":207,"w":30,"h":30},
+ "frame": {"x":853,"y":55,"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":327,"y":207,"w":30,"h":30},
+ "frame": {"x":887,"y":55,"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":361,"y":211,"w":30,"h":30},
+ "frame": {"x":921,"y":55,"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":395,"y":211,"w":30,"h":30},
+ "frame": {"x":955,"y":55,"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":429,"y":211,"w":30,"h":30},
+ "frame": {"x":989,"y":54,"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":463,"y":211,"w":30,"h":30},
+ "frame": {"x":989,"y":88,"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":497,"y":211,"w":30,"h":30},
+ "frame": {"x":986,"y":122,"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":531,"y":211,"w":30,"h":30},
+ "frame": {"x":976,"y":182,"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":565,"y":210,"w":30,"h":30},
+ "frame": {"x":929,"y":216,"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":599,"y":210,"w":30,"h":30},
+ "frame": {"x":963,"y":216,"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":659,"y":206,"w":28,"h":32},
+ "frame": {"x":685,"y":55,"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":3,"y":192,"w":184,"h":48},
+ "frame": {"x":373,"y":155,"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":484,"y":107,"w":87,"h":48},
+ "frame": {"x":661,"y":143,"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":906,"y":3,"w":47,"h":48},
+ "frame": {"x":856,"y":141,"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":822,"y":107,"w":47,"h":48},
+ "frame": {"x":858,"y":89,"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":483,"y":55,"w":89,"h":48},
+ "frame": {"x":491,"y":3,"w":89,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":89,"h":48},
@@ -210,7 +210,7 @@
},
"sprites/blueprints/painter-double.png":
{
- "frame": {"x":191,"y":107,"w":96,"h":96},
+ "frame": {"x":191,"y":3,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@@ -218,7 +218,7 @@
},
"sprites/blueprints/painter-quad.png":
{
- "frame": {"x":191,"y":3,"w":188,"h":48},
+ "frame": {"x":3,"y":192,"w":188,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":188,"h":48},
@@ -226,7 +226,7 @@
},
"sprites/blueprints/painter.png":
{
- "frame": {"x":383,"y":55,"w":96,"h":48},
+ "frame": {"x":561,"y":155,"w":96,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":48},
@@ -234,7 +234,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
- "frame": {"x":854,"y":3,"w":48,"h":48},
+ "frame": {"x":752,"y":143,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@@ -242,7 +242,7 @@
},
"sprites/blueprints/rotater.png":
{
- "frame": {"x":759,"y":55,"w":48,"h":48},
+ "frame": {"x":754,"y":89,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@@ -250,7 +250,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
- "frame": {"x":666,"y":107,"w":48,"h":48},
+ "frame": {"x":774,"y":195,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@@ -258,7 +258,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
- "frame": {"x":545,"y":159,"w":47,"h":47},
+ "frame": {"x":907,"y":141,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":47},
@@ -266,7 +266,7 @@
},
"sprites/blueprints/splitter.png":
{
- "frame": {"x":763,"y":3,"w":87,"h":48},
+ "frame": {"x":663,"y":91,"w":87,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":87,"h":48},
@@ -274,15 +274,23 @@
},
"sprites/blueprints/stacker.png":
{
- "frame": {"x":391,"y":107,"w":89,"h":48},
+ "frame": {"x":584,"y":3,"w":89,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":89,"h":48},
"sourceSize": {"w":96,"h":48}
},
+"sprites/blueprints/trash-storage.png":
+{
+ "frame": {"x":195,"y":155,"w":85,"h":96},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":6,"y":0,"w":85,"h":96},
+ "sourceSize": {"w":96,"h":96}
+},
"sprites/blueprints/trash.png":
{
- "frame": {"x":811,"y":55,"w":48,"h":48},
+ "frame": {"x":804,"y":141,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@@ -290,7 +298,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
- "frame": {"x":647,"y":159,"w":48,"h":43},
+ "frame": {"x":373,"y":207,"w":48,"h":43},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":5,"w":48,"h":43},
@@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
- "frame": {"x":750,"y":159,"w":48,"h":38},
+ "frame": {"x":476,"y":207,"w":48,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":10,"w":48,"h":38},
@@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
- "frame": {"x":802,"y":159,"w":48,"h":38},
+ "frame": {"x":528,"y":207,"w":48,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":38},
@@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
- "frame": {"x":873,"y":107,"w":48,"h":38},
+ "frame": {"x":580,"y":207,"w":48,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":38},
@@ -322,7 +330,7 @@
},
"sprites/buildings/belt_left.png":
{
- "frame": {"x":191,"y":207,"w":30,"h":30},
+ "frame": {"x":717,"y":55,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":30,"h":30},
@@ -330,7 +338,7 @@
},
"sprites/buildings/belt_right.png":
{
- "frame": {"x":361,"y":211,"w":30,"h":30},
+ "frame": {"x":921,"y":55,"w":30,"h":30},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":30,"h":30},
@@ -338,7 +346,7 @@
},
"sprites/buildings/belt_top.png":
{
- "frame": {"x":925,"y":89,"w":28,"h":32},
+ "frame": {"x":493,"y":55,"w":28,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":28,"h":32},
@@ -346,7 +354,7 @@
},
"sprites/buildings/cutter-quad.png":
{
- "frame": {"x":383,"y":3,"w":184,"h":48},
+ "frame": {"x":383,"y":103,"w":184,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":184,"h":48},
@@ -354,7 +362,7 @@
},
"sprites/buildings/cutter.png":
{
- "frame": {"x":668,"y":55,"w":87,"h":48},
+ "frame": {"x":769,"y":3,"w":87,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":87,"h":48},
@@ -370,7 +378,7 @@
},
"sprites/buildings/miner-chainable.png":
{
- "frame": {"x":443,"y":159,"w":47,"h":48},
+ "frame": {"x":912,"y":3,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@@ -378,7 +386,7 @@
},
"sprites/buildings/miner.png":
{
- "frame": {"x":494,"y":159,"w":47,"h":48},
+ "frame": {"x":878,"y":193,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@@ -386,7 +394,7 @@
},
"sprites/buildings/mixer.png":
{
- "frame": {"x":671,"y":3,"w":88,"h":48},
+ "frame": {"x":571,"y":91,"w":88,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":88,"h":48},
@@ -394,7 +402,7 @@
},
"sprites/buildings/painter-double.png":
{
- "frame": {"x":291,"y":107,"w":96,"h":96},
+ "frame": {"x":291,"y":3,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@@ -402,7 +410,7 @@
},
"sprites/buildings/painter-quad.png":
{
- "frame": {"x":191,"y":55,"w":188,"h":48},
+ "frame": {"x":191,"y":103,"w":188,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":188,"h":48},
@@ -410,7 +418,7 @@
},
"sprites/buildings/painter.png":
{
- "frame": {"x":571,"y":3,"w":96,"h":48},
+ "frame": {"x":391,"y":3,"w":96,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":48},
@@ -418,7 +426,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
- "frame": {"x":718,"y":107,"w":48,"h":48},
+ "frame": {"x":806,"y":89,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@@ -426,7 +434,7 @@
},
"sprites/buildings/rotater.png":
{
- "frame": {"x":863,"y":55,"w":48,"h":48},
+ "frame": {"x":860,"y":3,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@@ -434,7 +442,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
- "frame": {"x":391,"y":159,"w":48,"h":47},
+ "frame": {"x":963,"y":3,"w":48,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":47},
@@ -442,7 +450,7 @@
},
"sprites/buildings/splitter-compact.png":
{
- "frame": {"x":596,"y":159,"w":47,"h":47},
+ "frame": {"x":909,"y":89,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":47},
@@ -450,7 +458,7 @@
},
"sprites/buildings/splitter.png":
{
- "frame": {"x":575,"y":107,"w":87,"h":48},
+ "frame": {"x":683,"y":195,"w":87,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":87,"h":48},
@@ -458,15 +466,23 @@
},
"sprites/buildings/stacker.png":
{
- "frame": {"x":576,"y":55,"w":88,"h":48},
+ "frame": {"x":677,"y":3,"w":88,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":88,"h":48},
"sourceSize": {"w":96,"h":48}
},
+"sprites/buildings/trash-storage.png":
+{
+ "frame": {"x":284,"y":155,"w":85,"h":96},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":6,"y":0,"w":85,"h":96},
+ "sourceSize": {"w":96,"h":96}
+},
"sprites/buildings/trash.png":
{
- "frame": {"x":770,"y":107,"w":48,"h":48},
+ "frame": {"x":826,"y":193,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@@ -474,7 +490,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
- "frame": {"x":699,"y":159,"w":47,"h":42},
+ "frame": {"x":425,"y":207,"w":47,"h":42},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":6,"w":47,"h":42},
@@ -482,7 +498,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
- "frame": {"x":854,"y":159,"w":47,"h":38},
+ "frame": {"x":632,"y":207,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":10,"w":47,"h":38},
@@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
- "frame": {"x":905,"y":161,"w":47,"h":38},
+ "frame": {"x":391,"y":55,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":38},
@@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
- "frame": {"x":750,"y":201,"w":47,"h":38},
+ "frame": {"x":442,"y":55,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":38},
@@ -506,7 +522,7 @@
},
"sprites/debug/acceptor_slot.png":
{
- "frame": {"x":691,"y":206,"w":14,"h":16},
+ "frame": {"x":958,"y":143,"w":14,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":14,"h":16},
@@ -514,7 +530,7 @@
},
"sprites/debug/ejector_slot.png":
{
- "frame": {"x":709,"y":205,"w":14,"h":16},
+ "frame": {"x":958,"y":163,"w":14,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":14,"h":16},
@@ -522,7 +538,7 @@
},
"sprites/map_overview/belt_forward.png":
{
- "frame": {"x":905,"y":149,"w":8,"h":8},
+ "frame": {"x":493,"y":91,"w":8,"h":8},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":8,"h":8},
@@ -530,7 +546,7 @@
},
"sprites/map_overview/belt_left.png":
{
- "frame": {"x":691,"y":226,"w":8,"h":8},
+ "frame": {"x":505,"y":91,"w":8,"h":8},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":8,"h":8},
@@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_right.png":
{
- "frame": {"x":727,"y":205,"w":8,"h":8},
+ "frame": {"x":517,"y":91,"w":8,"h":8},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":8,"h":8},
@@ -546,7 +562,7 @@
},
"sprites/misc/deletion_marker.png":
{
- "frame": {"x":633,"y":210,"w":22,"h":22},
+ "frame": {"x":960,"y":117,"w":22,"h":22},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":22,"h":22},
@@ -554,7 +570,7 @@
},
"sprites/misc/slot_bad_arrow.png":
{
- "frame": {"x":633,"y":210,"w":22,"h":22},
+ "frame": {"x":960,"y":117,"w":22,"h":22},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":22,"h":22},
@@ -562,19 +578,27 @@
},
"sprites/misc/slot_good_arrow.png":
{
- "frame": {"x":929,"y":203,"w":22,"h":24},
+ "frame": {"x":960,"y":89,"w":22,"h":24},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":22,"h":24},
"sourceSize": {"w":24,"h":24}
+},
+"sprites/misc/storage_overlay.png":
+{
+ "frame": {"x":976,"y":156,"w":44,"h":22},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":44,"h":22},
+ "sourceSize": {"w":44,"h":22}
}},
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "1.0",
"image": "atlas0_25.png",
"format": "RGBA8888",
- "size": {"w":956,"h":244},
+ "size": {"w":1023,"h":254},
"scale": "0.25",
- "smartupdate": "$TexturePacker:SmartUpdate:74461fa20e58ea6d62ee3dd3add52778:b1a366c7a8668dcf22b90fcff95a3dba:f159918d23e5952766c6d23ab52278c6$"
+ "smartupdate": "$TexturePacker:SmartUpdate:c2a63b817240ea11b013f390be5c690a:0c1b9b304a864f030526d8b9e8ae3352:f159918d23e5952766c6d23ab52278c6$"
}
}
diff --git a/res_built/atlas/atlas0_25.png b/res_built/atlas/atlas0_25.png
index 7f830c9d..ae736848 100644
Binary files a/res_built/atlas/atlas0_25.png and b/res_built/atlas/atlas0_25.png differ
diff --git a/res_built/atlas/atlas0_50.json b/res_built/atlas/atlas0_50.json
index 21a1240d..931f5155 100644
--- a/res_built/atlas/atlas0_50.json
+++ b/res_built/atlas/atlas0_50.json
@@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
- "frame": {"x":374,"y":1082,"w":51,"h":63},
+ "frame": {"x":1854,"y":231,"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":436,"y":953,"w":51,"h":63},
+ "frame": {"x":1909,"y":231,"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":378,"y":1373,"w":51,"h":63},
+ "frame": {"x":1842,"y":300,"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":378,"y":1440,"w":51,"h":63},
+ "frame": {"x":1897,"y":298,"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":379,"y":1553,"w":51,"h":63},
+ "frame": {"x":1902,"y":365,"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":434,"y":1508,"w":51,"h":63},
+ "frame": {"x":1648,"y":391,"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":279,"y":1723,"w":57,"h":57},
+ "frame": {"x":953,"y":399,"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":340,"y":1723,"w":57,"h":57},
+ "frame": {"x":1014,"y":399,"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":431,"y":1020,"w":57,"h":57},
+ "frame": {"x":1874,"y":170,"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":433,"y":1081,"w":57,"h":57},
+ "frame": {"x":1780,"y":362,"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":433,"y":1142,"w":57,"h":57},
+ "frame": {"x":1265,"y":403,"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":433,"y":1203,"w":57,"h":57},
+ "frame": {"x":1326,"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":433,"y":1264,"w":57,"h":57},
+ "frame": {"x":1841,"y":367,"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":433,"y":1325,"w":57,"h":57},
+ "frame": {"x":1587,"y":391,"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":433,"y":1386,"w":57,"h":57},
+ "frame": {"x":1703,"y":387,"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":433,"y":1447,"w":57,"h":57},
+ "frame": {"x":1387,"y":403,"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":379,"y":1620,"w":57,"h":57},
+ "frame": {"x":1448,"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":401,"y":1681,"w":57,"h":57},
+ "frame": {"x":1509,"y":402,"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":373,"y":303,"w":58,"h":58},
+ "frame": {"x":1203,"y":398,"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":374,"y":953,"w":58,"h":58},
+ "frame": {"x":1780,"y":300,"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":374,"y":1015,"w":53,"h":63},
+ "frame": {"x":1874,"y":103,"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":199,"y":774,"w":172,"h":96},
+ "frame": {"x":1496,"y":3,"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":181,"y":1571,"w":92,"h":96},
+ "frame": {"x":1778,"y":103,"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":299,"y":1174,"w":92,"h":96},
+ "frame": {"x":1301,"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":3,"y":1365,"w":175,"h":96},
+ "frame": {"x":947,"y":103,"w":175,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":175,"h":96},
@@ -210,7 +210,7 @@
},
"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},
@@ -218,7 +218,7 @@
},
"sprites/blueprints/painter-quad.png":
{
- "frame": {"x":3,"y":374,"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 +226,7 @@
},
"sprites/blueprints/painter.png":
{
- "frame": {"x":3,"y":1165,"w":192,"h":96},
+ "frame": {"x":751,"y":103,"w":192,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":192,"h":96},
@@ -234,7 +234,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
- "frame": {"x":373,"y":3,"w":96,"h":96},
+ "frame": {"x":1479,"y":103,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@@ -242,7 +242,7 @@
},
"sprites/blueprints/rotater.png":
{
- "frame": {"x":199,"y":1174,"w":96,"h":96},
+ "frame": {"x":1459,"y":203,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@@ -250,7 +250,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
- "frame": {"x":182,"y":1474,"w":95,"h":93},
+ "frame": {"x":1658,"y":203,"w":95,"h":93},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":95,"h":93},
@@ -258,7 +258,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
- "frame": {"x":381,"y":464,"w":93,"h":93},
+ "frame": {"x":1757,"y":203,"w":93,"h":93},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":1,"w":93,"h":93},
@@ -266,7 +266,7 @@
},
"sprites/blueprints/splitter.png":
{
- "frame": {"x":199,"y":874,"w":171,"h":96},
+ "frame": {"x":1304,"y":103,"w":171,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":171,"h":96},
@@ -274,15 +274,23 @@
},
"sprites/blueprints/stacker.png":
{
- "frame": {"x":3,"y":1465,"w":175,"h":96},
+ "frame": {"x":1317,"y":3,"w":175,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":0,"w":175,"h":96},
"sourceSize": {"w":192,"h":96}
},
+"sprites/blueprints/trash-storage.png":
+{
+ "frame": {"x":765,"y":203,"w":167,"h":192},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":14,"y":0,"w":167,"h":192},
+ "sourceSize": {"w":192,"h":192}
+},
"sprites/blueprints/trash.png":
{
- "frame": {"x":373,"y":103,"w":96,"h":96},
+ "frame": {"x":1847,"y":3,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@@ -290,7 +298,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
- "frame": {"x":281,"y":1469,"w":93,"h":84},
+ "frame": {"x":1587,"y":303,"w":93,"h":84},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":12,"w":93,"h":84},
@@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
- "frame": {"x":381,"y":561,"w":93,"h":75},
+ "frame": {"x":667,"y":398,"w":93,"h":75},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":21,"w":93,"h":75},
@@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
- "frame": {"x":281,"y":1557,"w":94,"h":75},
+ "frame": {"x":569,"y":398,"w":94,"h":75},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":94,"h":75},
@@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
- "frame": {"x":373,"y":640,"w":93,"h":75},
+ "frame": {"x":1106,"y":398,"w":93,"h":75},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":93,"h":75},
@@ -322,7 +330,7 @@
},
"sprites/buildings/belt_left.png":
{
- "frame": {"x":279,"y":1723,"w":57,"h":57},
+ "frame": {"x":953,"y":399,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":6,"w":57,"h":57},
@@ -330,7 +338,7 @@
},
"sprites/buildings/belt_right.png":
{
- "frame": {"x":433,"y":1264,"w":57,"h":57},
+ "frame": {"x":1841,"y":367,"w":57,"h":57},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":6,"w":57,"h":57},
@@ -338,7 +346,7 @@
},
"sprites/buildings/belt_top.png":
{
- "frame": {"x":374,"y":1082,"w":51,"h":63},
+ "frame": {"x":1854,"y":231,"w":51,"h":63},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":51,"h":63},
@@ -346,7 +354,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},
@@ -354,7 +362,7 @@
},
"sprites/buildings/cutter.png":
{
- "frame": {"x":199,"y":974,"w":171,"h":96},
+ "frame": {"x":1284,"y":203,"w":171,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":171,"h":96},
@@ -370,7 +378,7 @@
},
"sprites/buildings/miner-chainable.png":
{
- "frame": {"x":298,"y":1274,"w":91,"h":95},
+ "frame": {"x":1397,"y":303,"w":91,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":91,"h":95},
@@ -378,7 +386,7 @@
},
"sprites/buildings/miner.png":
{
- "frame": {"x":381,"y":365,"w":91,"h":95},
+ "frame": {"x":1492,"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/mixer.png":
{
- "frame": {"x":3,"y":1565,"w":174,"h":96},
+ "frame": {"x":1126,"y":103,"w":174,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":174,"h":96},
@@ -394,7 +402,7 @@
},
"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},
@@ -402,7 +410,7 @@
},
"sprites/buildings/painter-quad.png":
{
- "frame": {"x":3,"y":474,"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},
@@ -410,7 +418,7 @@
},
"sprites/buildings/painter.png":
{
- "frame": {"x":3,"y":1265,"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},
@@ -418,7 +426,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
- "frame": {"x":199,"y":1274,"w":95,"h":96},
+ "frame": {"x":1559,"y":203,"w":95,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":95,"h":96},
@@ -426,7 +434,7 @@
},
"sprites/buildings/rotater.png":
{
- "frame": {"x":182,"y":1374,"w":95,"h":96},
+ "frame": {"x":1679,"y":103,"w":95,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":95,"h":96},
@@ -434,7 +442,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
- "frame": {"x":181,"y":1671,"w":94,"h":91},
+ "frame": {"x":1106,"y":303,"w":94,"h":91},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":94,"h":91},
@@ -442,7 +450,7 @@
},
"sprites/buildings/splitter-compact.png":
{
- "frame": {"x":281,"y":1374,"w":93,"h":91},
+ "frame": {"x":1204,"y":303,"w":93,"h":91},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":2,"w":93,"h":91},
@@ -450,7 +458,7 @@
},
"sprites/buildings/splitter.png":
{
- "frame": {"x":199,"y":1074,"w":171,"h":96},
+ "frame": {"x":1672,"y":3,"w":171,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":0,"w":171,"h":96},
@@ -458,15 +466,23 @@
},
"sprites/buildings/stacker.png":
{
- "frame": {"x":3,"y":1665,"w":174,"h":96},
+ "frame": {"x":1106,"y":203,"w":174,"h":96},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":174,"h":96},
"sourceSize": {"w":192,"h":96}
},
+"sprites/buildings/trash-storage.png":
+{
+ "frame": {"x":936,"y":203,"w":166,"h":192},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":14,"y":0,"w":166,"h":192},
+ "sourceSize": {"w":192,"h":192}
+},
"sprites/buildings/trash.png":
{
- "frame": {"x":373,"y":203,"w":96,"h":96},
+ "frame": {"x":1579,"y":103,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@@ -474,7 +490,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
- "frame": {"x":279,"y":1636,"w":92,"h":83},
+ "frame": {"x":1684,"y":300,"w":92,"h":83},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":13,"w":92,"h":83},
@@ -482,7 +498,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
- "frame": {"x":375,"y":719,"w":92,"h":74},
+ "frame": {"x":373,"y":399,"w":92,"h":74},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":22,"w":92,"h":74},
@@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
- "frame": {"x":375,"y":797,"w":92,"h":74},
+ "frame": {"x":469,"y":399,"w":92,"h":74},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":74},
@@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
- "frame": {"x":374,"y":875,"w":92,"h":74},
+ "frame": {"x":764,"y":399,"w":92,"h":74},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":74},
@@ -506,7 +522,7 @@
},
"sprites/debug/acceptor_slot.png":
{
- "frame": {"x":434,"y":1575,"w":26,"h":32},
+ "frame": {"x":1075,"y":399,"w":26,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":26,"h":32},
@@ -514,7 +530,7 @@
},
"sprites/debug/ejector_slot.png":
{
- "frame": {"x":464,"y":1575,"w":26,"h":32},
+ "frame": {"x":1810,"y":423,"w":26,"h":32},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":26,"h":32},
@@ -522,7 +538,7 @@
},
"sprites/map_overview/belt_forward.png":
{
- "frame": {"x":473,"y":3,"w":14,"h":16},
+ "frame": {"x":1854,"y":203,"w":14,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":14,"h":16},
@@ -530,7 +546,7 @@
},
"sprites/map_overview/belt_left.png":
{
- "frame": {"x":3,"y":1765,"w":15,"h":15},
+ "frame": {"x":860,"y":446,"w":15,"h":15},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":1,"w":15,"h":15},
@@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_right.png":
{
- "frame": {"x":22,"y":1765,"w":15,"h":15},
+ "frame": {"x":1075,"y":435,"w":15,"h":15},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":15,"h":15},
@@ -546,7 +562,7 @@
},
"sprites/misc/deletion_marker.png":
{
- "frame": {"x":378,"y":1507,"w":42,"h":42},
+ "frame": {"x":1840,"y":428,"w":42,"h":42},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":3,"w":42,"h":42},
@@ -554,7 +570,7 @@
},
"sprites/misc/slot_bad_arrow.png":
{
- "frame": {"x":378,"y":1507,"w":42,"h":42},
+ "frame": {"x":1840,"y":428,"w":42,"h":42},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":3,"w":42,"h":42},
@@ -562,19 +578,27 @@
},
"sprites/misc/slot_good_arrow.png":
{
- "frame": {"x":435,"y":303,"w":42,"h":48},
+ "frame": {"x":1764,"y":423,"w":42,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":42,"h":48},
"sourceSize": {"w":48,"h":48}
+},
+"sprites/misc/storage_overlay.png":
+{
+ "frame": {"x":860,"y":399,"w":89,"h":43},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":89,"h":43},
+ "sourceSize": {"w":89,"h":43}
}},
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "1.0",
"image": "atlas0_50.png",
"format": "RGBA8888",
- "size": {"w":493,"h":1783},
+ "size": {"w":1963,"h":476},
"scale": "0.5",
- "smartupdate": "$TexturePacker:SmartUpdate:74461fa20e58ea6d62ee3dd3add52778:b1a366c7a8668dcf22b90fcff95a3dba:f159918d23e5952766c6d23ab52278c6$"
+ "smartupdate": "$TexturePacker:SmartUpdate:c2a63b817240ea11b013f390be5c690a:0c1b9b304a864f030526d8b9e8ae3352:f159918d23e5952766c6d23ab52278c6$"
}
}
diff --git a/res_built/atlas/atlas0_50.png b/res_built/atlas/atlas0_50.png
index 626db8eb..8d1a3fde 100644
Binary files a/res_built/atlas/atlas0_50.png and b/res_built/atlas/atlas0_50.png differ
diff --git a/res_built/atlas/atlas0_75.json b/res_built/atlas/atlas0_75.json
index 7f339aac..ee646a0d 100644
--- a/res_built/atlas/atlas0_75.json
+++ b/res_built/atlas/atlas0_75.json
@@ -2,7 +2,7 @@
"sprites/belt/forward_0.png":
{
- "frame": {"x":1510,"y":560,"w":77,"h":95},
+ "frame": {"x":1936,"y":151,"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":1681,"y":562,"w":77,"h":95},
+ "frame": {"x":1936,"y":250,"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":1515,"y":725,"w":77,"h":95},
+ "frame": {"x":1600,"y":708,"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":1515,"y":824,"w":77,"h":95},
+ "frame": {"x":1544,"y":808,"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":1596,"y":652,"w":77,"h":95},
+ "frame": {"x":1625,"y":807,"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":1596,"y":751,"w":77,"h":95},
+ "frame": {"x":1544,"y":907,"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":698,"y":919,"w":86,"h":86},
+ "frame": {"x":1680,"y":593,"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":1769,"y":447,"w":86,"h":86},
+ "frame": {"x":1770,"y":592,"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":1769,"y":537,"w":86,"h":86},
+ "frame": {"x":1860,"y":592,"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":1591,"y":562,"w":86,"h":86},
+ "frame": {"x":1681,"y":683,"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":1514,"y":923,"w":86,"h":86},
+ "frame": {"x":1771,"y":682,"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":1762,"y":627,"w":86,"h":86},
+ "frame": {"x":1861,"y":682,"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":1677,"y":737,"w":86,"h":86},
+ "frame": {"x":1706,"y":773,"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":1767,"y":717,"w":86,"h":86},
+ "frame": {"x":1796,"y":772,"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":1677,"y":827,"w":86,"h":86},
+ "frame": {"x":1886,"y":772,"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":1767,"y":807,"w":86,"h":86},
+ "frame": {"x":1716,"y":863,"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":1767,"y":897,"w":86,"h":86},
+ "frame": {"x":1806,"y":862,"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":1604,"y":917,"w":86,"h":86},
+ "frame": {"x":1896,"y":862,"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":707,"y":737,"w":87,"h":87},
+ "frame": {"x":1924,"y":349,"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":707,"y":828,"w":87,"h":87},
+ "frame": {"x":1625,"y":906,"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":1545,"y":445,"w":79,"h":95},
+ "frame": {"x":1517,"y":709,"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":1111,"y":447,"w":136,"h":143},
+ "frame": {"x":1784,"y":299,"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":1251,"y":446,"w":136,"h":143},
+ "frame": {"x":1544,"y":446,"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":1139,"y":298,"w":261,"h":144},
+ "frame": {"x":1671,"y":151,"w":261,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":261,"h":144},
@@ -234,7 +234,7 @@
},
"sprites/blueprints/rotater-ccw.png":
{
- "frame": {"x":1668,"y":299,"w":143,"h":144},
+ "frame": {"x":1397,"y":445,"w":143,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":143,"h":144},
@@ -242,7 +242,7 @@
},
"sprites/blueprints/rotater.png":
{
- "frame": {"x":560,"y":737,"w":143,"h":144},
+ "frame": {"x":1084,"y":594,"w":143,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":143,"h":144},
@@ -250,7 +250,7 @@
},
"sprites/blueprints/splitter-compact-inverse.png":
{
- "frame": {"x":798,"y":741,"w":142,"h":138},
+ "frame": {"x":1071,"y":742,"w":142,"h":138},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":142,"h":138},
@@ -258,7 +258,7 @@
},
"sprites/blueprints/splitter-compact.png":
{
- "frame": {"x":1229,"y":740,"w":139,"h":138},
+ "frame": {"x":1217,"y":742,"w":139,"h":138},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":2,"w":139,"h":138},
@@ -266,7 +266,7 @@
},
"sprites/blueprints/splitter.png":
{
- "frame": {"x":295,"y":852,"w":256,"h":144},
+ "frame": {"x":1119,"y":298,"w":256,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":17,"y":0,"w":256,"h":144},
@@ -274,15 +274,23 @@
},
"sprites/blueprints/stacker.png":
{
- "frame": {"x":295,"y":704,"w":261,"h":144},
+ "frame": {"x":555,"y":590,"w":261,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":13,"y":0,"w":261,"h":144},
"sourceSize": {"w":288,"h":144}
},
+"sprites/blueprints/trash-storage.png":
+{
+ "frame": {"x":847,"y":299,"w":250,"h":288},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":21,"y":0,"w":250,"h":288},
+ "sourceSize": {"w":288,"h":288}
+},
"sprites/blueprints/trash.png":
{
- "frame": {"x":1671,"y":3,"w":144,"h":144},
+ "frame": {"x":1101,"y":446,"w":144,"h":144},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":144,"h":144},
@@ -290,7 +298,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
- "frame": {"x":798,"y":883,"w":138,"h":125},
+ "frame": {"x":835,"y":885,"w":138,"h":125},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":19,"w":138,"h":125},
@@ -298,7 +306,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
- "frame": {"x":1372,"y":873,"w":138,"h":112},
+ "frame": {"x":1261,"y":884,"w":138,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":32,"w":138,"h":112},
@@ -306,7 +314,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
- "frame": {"x":555,"y":885,"w":139,"h":112},
+ "frame": {"x":1118,"y":884,"w":139,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":139,"h":112},
@@ -314,7 +322,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
- "frame": {"x":1229,"y":882,"w":138,"h":112},
+ "frame": {"x":1397,"y":593,"w":138,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":138,"h":112},
@@ -322,7 +330,7 @@
},
"sprites/buildings/belt_left.png":
{
- "frame": {"x":698,"y":919,"w":86,"h":86},
+ "frame": {"x":1680,"y":593,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":9,"w":86,"h":86},
@@ -330,7 +338,7 @@
},
"sprites/buildings/belt_right.png":
{
- "frame": {"x":1677,"y":737,"w":86,"h":86},
+ "frame": {"x":1706,"y":773,"w":86,"h":86},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":86,"h":86},
@@ -338,7 +346,7 @@
},
"sprites/buildings/belt_top.png":
{
- "frame": {"x":1510,"y":560,"w":77,"h":95},
+ "frame": {"x":1936,"y":151,"w":77,"h":95},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":0,"w":77,"h":95},
@@ -354,7 +362,7 @@
},
"sprites/buildings/cutter.png":
{
- "frame": {"x":560,"y":590,"w":256,"h":143},
+ "frame": {"x":811,"y":738,"w":256,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":17,"y":0,"w":256,"h":143},
@@ -370,7 +378,7 @@
},
"sprites/buildings/miner-chainable.png":
{
- "frame": {"x":1089,"y":741,"w":136,"h":142},
+ "frame": {"x":1684,"y":446,"w":136,"h":142},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":142},
@@ -378,7 +386,7 @@
},
"sprites/buildings/miner.png":
{
- "frame": {"x":1225,"y":594,"w":136,"h":142},
+ "frame": {"x":1824,"y":446,"w":136,"h":142},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":142},
@@ -386,7 +394,7 @@
},
"sprites/buildings/mixer.png":
{
- "frame": {"x":1404,"y":298,"w":260,"h":143},
+ "frame": {"x":547,"y":738,"w":260,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":260,"h":143},
@@ -410,7 +418,7 @@
},
"sprites/buildings/painter.png":
{
- "frame": {"x":847,"y":299,"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},
@@ -418,7 +426,7 @@
},
"sprites/buildings/rotater-ccw.png":
{
- "frame": {"x":944,"y":741,"w":141,"h":143},
+ "frame": {"x":1231,"y":594,"w":141,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":141,"h":143},
@@ -426,7 +434,7 @@
},
"sprites/buildings/rotater.png":
{
- "frame": {"x":1080,"y":594,"w":141,"h":143},
+ "frame": {"x":1639,"y":299,"w":141,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":141,"h":143},
@@ -434,7 +442,7 @@
},
"sprites/buildings/splitter-compact-inverse.png":
{
- "frame": {"x":1365,"y":593,"w":141,"h":136},
+ "frame": {"x":547,"y":885,"w":141,"h":136},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":3,"w":141,"h":136},
@@ -442,7 +450,7 @@
},
"sprites/buildings/splitter-compact.png":
{
- "frame": {"x":1372,"y":733,"w":139,"h":136},
+ "frame": {"x":692,"y":885,"w":139,"h":136},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":3,"w":139,"h":136},
@@ -450,7 +458,7 @@
},
"sprites/buildings/splitter.png":
{
- "frame": {"x":820,"y":594,"w":256,"h":143},
+ "frame": {"x":1379,"y":298,"w":256,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":17,"y":0,"w":256,"h":143},
@@ -458,15 +466,23 @@
},
"sprites/buildings/stacker.png":
{
- "frame": {"x":847,"y":447,"w":260,"h":143},
+ "frame": {"x":820,"y":591,"w":260,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":260,"h":143},
"sourceSize": {"w":288,"h":144}
},
+"sprites/buildings/trash-storage.png":
+{
+ "frame": {"x":295,"y":704,"w":248,"h":288},
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": {"x":22,"y":0,"w":248,"h":288},
+ "sourceSize": {"w":288,"h":288}
+},
"sprites/buildings/trash.png":
{
- "frame": {"x":1671,"y":151,"w":144,"h":144},
+ "frame": {"x":1249,"y":446,"w":144,"h":144},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":144,"h":144},
@@ -474,7 +490,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
- "frame": {"x":940,"y":888,"w":137,"h":124},
+ "frame": {"x":977,"y":885,"w":137,"h":124},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":20,"w":137,"h":124},
@@ -482,7 +498,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
- "frame": {"x":1404,"y":445,"w":137,"h":111},
+ "frame": {"x":1539,"y":593,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":33,"w":137,"h":111},
@@ -490,7 +506,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
- "frame": {"x":1628,"y":447,"w":137,"h":111},
+ "frame": {"x":1376,"y":709,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":137,"h":111},
@@ -498,7 +514,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
- "frame": {"x":1081,"y":888,"w":137,"h":111},
+ "frame": {"x":1403,"y":824,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":137,"h":111},
@@ -506,7 +522,7 @@
},
"sprites/debug/acceptor_slot.png":
{
- "frame": {"x":1596,"y":850,"w":38,"h":48},
+ "frame": {"x":1963,"y":3,"w":38,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":38,"h":48},
@@ -514,7 +530,7 @@
},
"sprites/debug/ejector_slot.png":
{
- "frame": {"x":1694,"y":917,"w":38,"h":48},
+ "frame": {"x":1963,"y":55,"w":38,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":38,"h":48},
@@ -522,7 +538,7 @@
},
"sprites/map_overview/belt_forward.png":
{
- "frame": {"x":1819,"y":3,"w":20,"h":24},
+ "frame": {"x":1625,"y":997,"w":20,"h":24},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":20,"h":24},
@@ -530,7 +546,7 @@
},
"sprites/map_overview/belt_left.png":
{
- "frame": {"x":1638,"y":850,"w":22,"h":22},
+ "frame": {"x":3,"y":994,"w":22,"h":22},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":2,"w":22,"h":22},
@@ -538,7 +554,7 @@
},
"sprites/map_overview/belt_right.png":
{
- "frame": {"x":1694,"y":969,"w":22,"h":22},
+ "frame": {"x":1963,"y":107,"w":22,"h":22},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":22,"h":22},
@@ -546,7 +562,7 @@
},
"sprites/misc/deletion_marker.png":
{
- "frame": {"x":1510,"y":659,"w":62,"h":62},
+ "frame": {"x":1716,"y":953,"w":62,"h":62},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":5,"w":62,"h":62},
@@ -554,7 +570,7 @@
},
"sprites/misc/slot_bad_arrow.png":
{
- "frame": {"x":1510,"y":659,"w":62,"h":62},
+ "frame": {"x":1716,"y":953,"w":62,"h":62},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":5,"w":62,"h":62},
@@ -562,19 +578,27 @@
},
"sprites/misc/slot_good_arrow.png":
{
- "frame": {"x":1677,"y":661,"w":62,"h":72},
+ "frame": {"x":1950,"y":592,"w":62,"h":72},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":62,"h":72},
"sourceSize": {"w":72,"h":72}
+},
+"sprites/misc/storage_overlay.png":
+{
+ "frame": {"x":1403,"y":939,"w":133,"h":65},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":133,"h":65},
+ "sourceSize": {"w":133,"h":65}
}},
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "1.0",
"image": "atlas0_75.png",
"format": "RGBA8888",
- "size": {"w":1858,"h":1015},
+ "size": {"w":2016,"h":1024},
"scale": "0.75",
- "smartupdate": "$TexturePacker:SmartUpdate:74461fa20e58ea6d62ee3dd3add52778:b1a366c7a8668dcf22b90fcff95a3dba:f159918d23e5952766c6d23ab52278c6$"
+ "smartupdate": "$TexturePacker:SmartUpdate:c2a63b817240ea11b013f390be5c690a:0c1b9b304a864f030526d8b9e8ae3352:f159918d23e5952766c6d23ab52278c6$"
}
}
diff --git a/res_built/atlas/atlas0_75.png b/res_built/atlas/atlas0_75.png
index 13524a0f..1a1b069b 100644
Binary files a/res_built/atlas/atlas0_75.png and b/res_built/atlas/atlas0_75.png differ
diff --git a/res_raw/atlas.tps b/res_raw/atlas.tps
index 4d42a03a..0190d204 100644
--- a/res_raw/atlas.tps
+++ b/res_raw/atlas.tps
@@ -424,6 +424,21 @@
scale9FromFile
+ sprites/buildings/trash-storage.png
+
+ pivotPoint
+ 0.5,0.5
+ spriteScale
+ 1
+ scale9Enabled
+
+ scale9Borders
+ 144,144,288,288
+ scale9Paddings
+ 144,144,288,288
+ scale9FromFile
+
+
sprites/debug/acceptor_slot.png
sprites/debug/ejector_slot.png
sprites/map_overview/belt_forward.png
diff --git a/res_raw/sprites/blueprints/trash-storage.png b/res_raw/sprites/blueprints/trash-storage.png
new file mode 100644
index 00000000..a4e6122f
Binary files /dev/null and b/res_raw/sprites/blueprints/trash-storage.png differ
diff --git a/res_raw/sprites/buildings/trash-storage.png b/res_raw/sprites/buildings/trash-storage.png
new file mode 100644
index 00000000..57b1519e
Binary files /dev/null and b/res_raw/sprites/buildings/trash-storage.png differ
diff --git a/res_raw/sprites/misc/storage_overlay.png b/res_raw/sprites/misc/storage_overlay.png
new file mode 100644
index 00000000..92b2ecf8
Binary files /dev/null and b/res_raw/sprites/misc/storage_overlay.png differ
diff --git a/src/css/ingame_hud/building_placer.scss b/src/css/ingame_hud/building_placer.scss
index 3f24d9ef..b2c67ec4 100644
--- a/src/css/ingame_hud/building_placer.scss
+++ b/src/css/ingame_hud/building_placer.scss
@@ -130,10 +130,12 @@
&[data-tile-w="4"] {
@include S(width, 4 * $iconSize);
}
-
&[data-tile-h="2"] {
@include S(height, 2 * $iconSize);
}
+ &[data-tile-h="3"] {
+ @include S(height, 3 * $iconSize);
+ }
}
.label {
diff --git a/src/js/game/buildings/belt_base.js b/src/js/game/buildings/belt_base.js
index c8bed0aa..b662ea77 100644
--- a/src/js/game/buildings/belt_base.js
+++ b/src/js/game/buildings/belt_base.js
@@ -1,5 +1,8 @@
import { Loader } from "../../core/loader";
+import { formatItemsPerSecond } from "../../core/utils";
import { enumAngleToDirection, enumDirection, Vector } from "../../core/vector";
+import { SOUNDS } from "../../platform/sound";
+import { T } from "../../translations";
import { BeltComponent } from "../components/belt";
import { ItemAcceptorComponent } from "../components/item_acceptor";
import { ItemEjectorComponent } from "../components/item_ejector";
@@ -7,10 +10,6 @@ import { ReplaceableMapEntityComponent } from "../components/replaceable_map_ent
import { Entity } from "../entity";
import { MetaBuilding } from "../meta_building";
import { GameRoot } from "../root";
-import { SOUNDS } from "../../platform/sound";
-import { T } from "../../translations";
-import { round1Digit, formatItemsPerSecond } from "../../core/utils";
-import { globalConfig } from "../../core/config";
export const arrayBeltVariantToRotation = [enumDirection.top, enumDirection.left, enumDirection.right];
diff --git a/src/js/game/buildings/trash.js b/src/js/game/buildings/trash.js
index 897687e1..8ae36b8d 100644
--- a/src/js/game/buildings/trash.js
+++ b/src/js/game/buildings/trash.js
@@ -3,23 +3,64 @@ import { ItemAcceptorComponent } from "../components/item_acceptor";
import { ItemEjectorComponent } from "../components/item_ejector";
import { enumItemProcessorTypes, ItemProcessorComponent } from "../components/item_processor";
import { Entity } from "../entity";
-import { MetaBuilding } from "../meta_building";
+import { MetaBuilding, defaultBuildingVariant } from "../meta_building";
import { enumHubGoalRewards } from "../tutorial_goals";
import { GameRoot } from "../root";
+import { StorageComponent } from "../components/storage";
+import { T } from "../../translations";
+import { formatBigNumber } from "../../core/utils";
+
+/** @enum {string} */
+export const enumTrashVariants = { storage: "storage" };
+
+const trashSize = 5000;
export class MetaTrashBuilding extends MetaBuilding {
constructor() {
super("trash");
}
- isRotateable() {
- return false;
+ isRotateable(variant) {
+ return variant !== defaultBuildingVariant;
}
getSilhouetteColor() {
return "#cd7d86";
}
+ /**
+ * @param {GameRoot} root
+ * @param {string} variant
+ * @returns {Array<[string, string]>}
+ */
+ getAdditionalStatistics(root, variant) {
+ if (variant === enumTrashVariants.storage) {
+ return [[T.ingame.buildingPlacement.infoTexts.storage, formatBigNumber(trashSize)]];
+ }
+ return [];
+ }
+
+ getDimensions(variant) {
+ switch (variant) {
+ case defaultBuildingVariant:
+ return new Vector(1, 1);
+ case enumTrashVariants.storage:
+ return new Vector(2, 2);
+ default:
+ assertAlways(false, "Unknown trash variant: " + variant);
+ }
+ }
+
+ /**
+ * @param {GameRoot} root
+ */
+ getAvailableVariants(root) {
+ if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_storage)) {
+ return [defaultBuildingVariant, enumTrashVariants.storage];
+ }
+ return super.getAvailableVariants(root);
+ }
+
/**
* @param {GameRoot} root
*/
@@ -32,13 +73,6 @@ export class MetaTrashBuilding extends MetaBuilding {
* @param {Entity} entity
*/
setupEntityComponents(entity) {
- entity.addComponent(
- new ItemProcessorComponent({
- inputsPerCharge: 1,
- processorType: enumItemProcessorTypes.trash,
- })
- );
-
// Required, since the item processor needs this.
entity.addComponent(
new ItemEjectorComponent({
@@ -62,4 +96,77 @@ export class MetaTrashBuilding extends MetaBuilding {
})
);
}
+
+ /**
+ *
+ * @param {Entity} entity
+ * @param {number} rotationVariant
+ * @param {string} variant
+ */
+ updateVariants(entity, rotationVariant, variant) {
+ switch (variant) {
+ case defaultBuildingVariant: {
+ if (!entity.components.ItemProcessor) {
+ entity.addComponent(
+ new ItemProcessorComponent({
+ inputsPerCharge: 1,
+ processorType: enumItemProcessorTypes.trash,
+ })
+ );
+ }
+ if (entity.components.Storage) {
+ entity.removeComponent(StorageComponent);
+ }
+
+ entity.components.ItemAcceptor.setSlots([
+ {
+ pos: new Vector(0, 0),
+ directions: [
+ enumDirection.top,
+ enumDirection.right,
+ enumDirection.bottom,
+ enumDirection.left,
+ ],
+ },
+ ]);
+ entity.components.ItemEjector.setSlots([]);
+ entity.components.ItemProcessor.type = enumItemProcessorTypes.trash;
+ break;
+ }
+ case enumTrashVariants.storage: {
+ if (entity.components.ItemProcessor) {
+ entity.removeComponent(ItemProcessorComponent);
+ }
+ if (!entity.components.Storage) {
+ entity.addComponent(new StorageComponent({}));
+ }
+
+ entity.components.Storage.maximumStorage = trashSize;
+ entity.components.ItemAcceptor.setSlots([
+ {
+ pos: new Vector(0, 1),
+ directions: [enumDirection.bottom],
+ },
+ {
+ pos: new Vector(1, 1),
+ directions: [enumDirection.bottom],
+ },
+ ]);
+
+ entity.components.ItemEjector.setSlots([
+ {
+ pos: new Vector(0, 0),
+ direction: enumDirection.top,
+ },
+ {
+ pos: new Vector(1, 0),
+ direction: enumDirection.top,
+ },
+ ]);
+ break;
+ }
+ default:
+ assertAlways(false, "Unknown trash variant: " + variant);
+ }
+ }
}
diff --git a/src/js/game/component_registry.js b/src/js/game/component_registry.js
index 16ae01d8..76458d43 100644
--- a/src/js/game/component_registry.js
+++ b/src/js/game/component_registry.js
@@ -9,6 +9,7 @@ import { ReplaceableMapEntityComponent } from "./components/replaceable_map_enti
import { UndergroundBeltComponent } from "./components/underground_belt";
import { UnremovableComponent } from "./components/unremovable";
import { HubComponent } from "./components/hub";
+import { StorageComponent } from "./components/storage";
export function initComponentRegistry() {
gComponentRegistry.register(StaticMapEntityComponent);
@@ -21,9 +22,9 @@ export function initComponentRegistry() {
gComponentRegistry.register(UndergroundBeltComponent);
gComponentRegistry.register(UnremovableComponent);
gComponentRegistry.register(HubComponent);
+ gComponentRegistry.register(StorageComponent);
- // IMPORTANT ^^^^^ REGENERATE SAVEGAME SCHEMA AFTERWARDS
- // IMPORTANT ^^^^^ ALSO UPDATE ENTITY COMPONENT STORAG
+ // IMPORTANT ^^^^^ UPDATE ENTITY COMPONENT STORAGE AFTERWARDS
// Sanity check - If this is thrown, you (=me, lol) forgot to add a new component here
diff --git a/src/js/game/components/belt.js b/src/js/game/components/belt.js
index dbca2ec5..9d64187c 100644
--- a/src/js/game/components/belt.js
+++ b/src/js/game/components/belt.js
@@ -60,7 +60,7 @@ export class BeltComponent extends Component {
/**
* Returns if the belt can currently accept an item from the given direction
*/
- canAcceptNewItem(leftoverProgress = 0.0) {
+ canAcceptItem(leftoverProgress = 0.0) {
const firstItem = this.sortedItems[0];
if (!firstItem) {
return true;
@@ -73,7 +73,7 @@ export class BeltComponent extends Component {
* Pushes a new item to the belt
* @param {BaseItem} item
*/
- takeNewItem(item, leftoverProgress = 0.0) {
+ takeItem(item, leftoverProgress = 0.0) {
if (G_IS_DEV) {
assert(
this.sortedItems.length === 0 ||
diff --git a/src/js/game/components/storage.js b/src/js/game/components/storage.js
new file mode 100644
index 00000000..e024d522
--- /dev/null
+++ b/src/js/game/components/storage.js
@@ -0,0 +1,80 @@
+import { Component } from "../component";
+import { types } from "../../savegame/serialization";
+import { gItemRegistry } from "../../core/global_registries";
+import { BaseItem } from "../base_item";
+import { ColorItem } from "../items/color_item";
+import { ShapeItem } from "../items/shape_item";
+
+export class StorageComponent extends Component {
+ static getId() {
+ return "Storage";
+ }
+
+ static getSchema() {
+ return {
+ maximumStorage: types.uint,
+ storedCount: types.uint,
+ storedItem: types.nullable(types.obj(gItemRegistry)),
+ overlayOpacity: types.ufloat,
+ };
+ }
+
+ /**
+ * @param {object} param0
+ * @param {number=} param0.maximumStorage How much this storage can hold
+ */
+ constructor({ maximumStorage = 1e20 }) {
+ super();
+ this.maximumStorage = maximumStorage;
+
+ /**
+ * Currently stored item
+ * @type {BaseItem}
+ */
+ this.storedItem = null;
+
+ /**
+ * How many of this item we have stored
+ */
+ this.storedCount = 0;
+
+ /**
+ * We compute an opacity to make sure it doesn't flicker
+ */
+ this.overlayOpacity = 0;
+ }
+
+ /**
+ * Returns whether this storage can accept the item
+ * @param {BaseItem} item
+ */
+ canAcceptItem(item) {
+ if (this.storedCount >= this.maximumStorage) {
+ return false;
+ }
+ if (!this.storedItem || this.storedCount === 0) {
+ return true;
+ }
+
+ if (item instanceof ColorItem) {
+ return this.storedItem instanceof ColorItem && this.storedItem.color === item.color;
+ }
+
+ if (item instanceof ShapeItem) {
+ return (
+ this.storedItem instanceof ShapeItem &&
+ this.storedItem.definition.getHash() === item.definition.getHash()
+ );
+ }
+
+ return false;
+ }
+
+ /**
+ * @param {BaseItem} item
+ */
+ takeItem(item) {
+ this.storedItem = item;
+ this.storedCount++;
+ }
+}
diff --git a/src/js/game/core.js b/src/js/game/core.js
index d800b602..73346504 100644
--- a/src/js/game/core.js
+++ b/src/js/game/core.js
@@ -404,6 +404,7 @@ export class GameCore {
root.map.drawForeground(params);
if (!this.root.camera.getIsMapOverlayActive()) {
systems.hub.draw(params);
+ systems.storage.draw(params);
}
if (G_IS_DEV) {
diff --git a/src/js/game/entity.js b/src/js/game/entity.js
index a6db7400..50f4cae5 100644
--- a/src/js/game/entity.js
+++ b/src/js/game/entity.js
@@ -99,6 +99,10 @@ export class Entity extends BasicSerializableObject {
* @param {boolean} force Used by the entity manager. Internal parameter, do not change
*/
addComponent(componentInstance, force = false) {
+ if (!force && this.registered) {
+ this.root.entityMgr.attachDynamicComponent(this, componentInstance);
+ return;
+ }
assert(force || !this.registered, "Entity already registered, use EntityManager.addDynamicComponent");
const id = /** @type {typeof Component} */ (componentInstance.constructor).getId();
assert(!this.components[id], "Component already present");
@@ -109,9 +113,17 @@ export class Entity extends BasicSerializableObject {
* Removes a given component, only possible until the entity is registered on the entity manager,
* after that use @see EntityManager.removeDynamicComponent
* @param {typeof Component} componentClass
+ * @param {boolean} force
*/
- removeComponent(componentClass) {
- assert(!this.registered, "Entity already registered, use EntityManager.removeDynamicComponent");
+ removeComponent(componentClass, force = false) {
+ if (!force && this.registered) {
+ this.root.entityMgr.removeDynamicComponent(this, componentClass);
+ return;
+ }
+ assert(
+ force || !this.registered,
+ "Entity already registered, use EntityManager.removeDynamicComponent"
+ );
const id = componentClass.getId();
assert(this.components[id], "Component does not exist on entity");
delete this.components[id];
diff --git a/src/js/game/entity_components.js b/src/js/game/entity_components.js
index 5b58264b..bcc6e9d0 100644
--- a/src/js/game/entity_components.js
+++ b/src/js/game/entity_components.js
@@ -9,6 +9,7 @@ import { ReplaceableMapEntityComponent } from "./components/replaceable_map_enti
import { UndergroundBeltComponent } from "./components/underground_belt";
import { UnremovableComponent } from "./components/unremovable";
import { HubComponent } from "./components/hub";
+import { StorageComponent } from "./components/storage";
/* typehints:end */
/**
@@ -52,6 +53,9 @@ export class EntityComponentStorage {
/** @type {HubComponent} */
this.Hub;
+ /** @type {StorageComponent} */
+ this.Storage;
+
/* typehints:end */
}
}
diff --git a/src/js/game/entity_manager.js b/src/js/game/entity_manager.js
index 84a92768..c3c94fbc 100644
--- a/src/js/game/entity_manager.js
+++ b/src/js/game/entity_manager.js
@@ -1,4 +1,4 @@
-import { arrayDeleteValue, newEmptyMap } from "../core/utils";
+import { arrayDeleteValue, newEmptyMap, fastArrayDeleteValue } from "../core/utils";
import { Component } from "./component";
import { GameRoot } from "./root";
import { Entity } from "./entity";
@@ -128,6 +128,19 @@ export class EntityManager extends BasicSerializableObject {
this.root.signals.entityGotNewComponent.dispatch(entity);
}
+ /**
+ * Call to remove a component after the creation of the entity
+ * @param {Entity} entity
+ * @param {typeof Component} component
+ */
+ removeDynamicComponent(entity, component) {
+ entity.removeComponent(component, true);
+ const componentId = /** @type {typeof Component} */ (component.constructor).getId();
+
+ fastArrayDeleteValue(this.componentToEntity[componentId], entity);
+ this.root.signals.entityComponentRemoved.dispatch(entity);
+ }
+
/**
* Finds an entity buy its uid, kinda slow since it loops over all entities
* @param {number} uid
diff --git a/src/js/game/game_system_manager.js b/src/js/game/game_system_manager.js
index 7cde296e..a8e9cf0c 100644
--- a/src/js/game/game_system_manager.js
+++ b/src/js/game/game_system_manager.js
@@ -12,6 +12,7 @@ import { UndergroundBeltSystem } from "./systems/underground_belt";
import { HubSystem } from "./systems/hub";
import { StaticMapEntitySystem } from "./systems/static_map_entity";
import { ItemAcceptorSystem } from "./systems/item_acceptor";
+import { StorageSystem } from "./systems/storage";
const logger = createLogger("game_system_manager");
@@ -52,6 +53,9 @@ export class GameSystemManager {
/** @type {ItemAcceptorSystem} */
itemAcceptor: null,
+ /** @type {StorageSystem} */
+ storage: null,
+
/* typehints:end */
};
this.systemUpdateOrder = [];
@@ -72,15 +76,17 @@ export class GameSystemManager {
add("belt", BeltSystem);
- add("itemEjector", ItemEjectorSystem);
+ add("undergroundBelt", UndergroundBeltSystem);
add("miner", MinerSystem);
- add("mapResources", MapResourcesSystem);
+ add("storage", StorageSystem);
add("itemProcessor", ItemProcessorSystem);
- add("undergroundBelt", UndergroundBeltSystem);
+ add("itemEjector", ItemEjectorSystem);
+
+ add("mapResources", MapResourcesSystem);
add("hub", HubSystem);
diff --git a/src/js/game/game_system_with_filter.js b/src/js/game/game_system_with_filter.js
index 3585c24e..52f8ddfe 100644
--- a/src/js/game/game_system_with_filter.js
+++ b/src/js/game/game_system_with_filter.js
@@ -5,7 +5,7 @@ import { Entity } from "./entity";
/* typehints:end */
import { GameSystem } from "./game_system";
-import { arrayDelete } from "../core/utils";
+import { arrayDelete, arrayDeleteValue } from "../core/utils";
import { DrawParameters } from "../core/draw_parameters";
import { globalConfig } from "../core/config";
import { Math_floor, Math_ceil } from "../core/builtins";
@@ -30,6 +30,7 @@ export class GameSystemWithFilter extends GameSystem {
this.root.signals.entityAdded.add(this.internalPushEntityIfMatching, this);
this.root.signals.entityGotNewComponent.add(this.internalReconsiderEntityToAdd, this);
+ this.root.signals.entityComponentRemoved.add(this.internalCheckEntityAfterComponentRemoval, this);
this.root.signals.entityQueuedForDestroy.add(this.internalPopEntityIfMatching, this);
this.root.signals.postLoadHook.add(this.internalPostLoadHook, this);
@@ -122,6 +123,24 @@ export class GameSystemWithFilter extends GameSystem {
this.internalRegisterEntity(entity);
}
+ /**
+ *
+ * @param {Entity} entity
+ */
+ internalCheckEntityAfterComponentRemoval(entity) {
+ if (this.allEntities.indexOf(entity) < 0) {
+ // Entity wasn't interesting anyways
+ return;
+ }
+
+ for (let i = 0; i < this.requiredComponentIds.length; ++i) {
+ if (!entity.components[this.requiredComponentIds[i]]) {
+ // Entity is not interesting anymore
+ arrayDeleteValue(this.allEntities, entity);
+ }
+ }
+ }
+
/**
*
* @param {Entity} entity
diff --git a/src/js/game/meta_building.js b/src/js/game/meta_building.js
index 681ba8c4..ad360ac0 100644
--- a/src/js/game/meta_building.js
+++ b/src/js/game/meta_building.js
@@ -107,9 +107,10 @@ export class MetaBuilding {
/**
* Returns whether this building is rotateable
+ * @param {string} variant
* @returns {boolean}
*/
- isRotateable() {
+ isRotateable(variant) {
return true;
}
@@ -185,7 +186,7 @@ export class MetaBuilding {
* @return {{ rotation: number, rotationVariant: number, connectedEntities?: Array }}
*/
computeOptimalDirectionAndRotationVariantAtTile(root, tile, rotation, variant) {
- if (!this.isRotateable()) {
+ if (!this.isRotateable(variant)) {
return {
rotation: 0,
rotationVariant: 0,
diff --git a/src/js/game/root.js b/src/js/game/root.js
index 5e979729..f73f9a9d 100644
--- a/src/js/game/root.js
+++ b/src/js/game/root.js
@@ -123,6 +123,7 @@ export class GameRoot {
// Entities
entityAdded: /** @type {TypedSignal<[Entity]>} */ (new Signal()),
entityGotNewComponent: /** @type {TypedSignal<[Entity]>} */ (new Signal()),
+ entityComponentRemoved: /** @type {TypedSignal<[Entity]>} */ (new Signal()),
entityQueuedForDestroy: /** @type {TypedSignal<[Entity]>} */ (new Signal()),
entityDestroyed: /** @type {TypedSignal<[Entity]>} */ (new Signal()),
diff --git a/src/js/game/systems/belt.js b/src/js/game/systems/belt.js
index 00ef803c..dd173045 100644
--- a/src/js/game/systems/belt.js
+++ b/src/js/game/systems/belt.js
@@ -258,8 +258,8 @@ export class BeltSystem extends GameSystemWithFilter {
if (progressAndItem[0] >= 1.0) {
if (followUp) {
const followUpBelt = followUp.components.Belt;
- if (followUpBelt.canAcceptNewItem()) {
- followUpBelt.takeNewItem(progressAndItem[1], progressAndItem[0] - 1.0);
+ if (followUpBelt.canAcceptItem()) {
+ followUpBelt.takeItem(progressAndItem[1], progressAndItem[0] - 1.0);
items.splice(itemIndex, 1);
} else {
// Well, we couldn't really take it to a follow up belt, keep it at
diff --git a/src/js/game/systems/item_ejector.js b/src/js/game/systems/item_ejector.js
index 3c1c4485..503356ad 100644
--- a/src/js/game/systems/item_ejector.js
+++ b/src/js/game/systems/item_ejector.js
@@ -99,8 +99,17 @@ export class ItemEjectorSystem extends GameSystemWithFilter {
const beltComp = receiver.components.Belt;
if (beltComp) {
// Ayy, its a belt!
- if (beltComp.canAcceptNewItem()) {
- beltComp.takeNewItem(item);
+ if (beltComp.canAcceptItem()) {
+ beltComp.takeItem(item);
+ return true;
+ }
+ }
+
+ const storageComp = receiver.components.Storage;
+ if (storageComp) {
+ // It's a storage
+ if (storageComp.canAcceptItem(item)) {
+ storageComp.takeItem(item);
return true;
}
}
diff --git a/src/js/game/systems/static_map_entity.js b/src/js/game/systems/static_map_entity.js
index d50b134d..616a0aa7 100644
--- a/src/js/game/systems/static_map_entity.js
+++ b/src/js/game/systems/static_map_entity.js
@@ -28,12 +28,19 @@ export class StaticMapEntitySystem extends GameSystem {
const drawOutlinesOnly = parameters.zoomLevel < globalConfig.mapChunkOverviewMinZoom;
+ const drawnUids = new Set();
+
const contents = chunk.contents;
for (let y = 0; y < globalConfig.mapChunkSize; ++y) {
for (let x = 0; x < globalConfig.mapChunkSize; ++x) {
const entity = contents[x][y];
if (entity) {
+ if (drawnUids.has(entity.uid)) {
+ continue;
+ }
+ drawnUids.add(entity.uid);
+
const staticComp = entity.components.StaticMapEntity;
if (drawOutlinesOnly) {
const rect = staticComp.getTileSpaceBounds();
diff --git a/src/js/game/systems/storage.js b/src/js/game/systems/storage.js
new file mode 100644
index 00000000..0917e56f
--- /dev/null
+++ b/src/js/game/systems/storage.js
@@ -0,0 +1,75 @@
+import { GameSystemWithFilter } from "../game_system_with_filter";
+import { StorageComponent } from "../components/storage";
+import { Entity } from "../entity";
+import { DrawParameters } from "../../core/draw_parameters";
+import { formatBigNumber, lerp } from "../../core/utils";
+import { Loader } from "../../core/loader";
+
+export class StorageSystem extends GameSystemWithFilter {
+ constructor(root) {
+ super(root, [StorageComponent]);
+
+ this.storageOverlaySprite = Loader.getSprite("sprites/misc/storage_overlay.png");
+ }
+
+ update() {
+ for (let i = 0; i < this.allEntities.length; ++i) {
+ const entity = this.allEntities[i];
+ const storageComp = entity.components.Storage;
+
+ // Eject from storage
+ if (storageComp.storedItem && storageComp.storedCount > 0) {
+ const ejectorComp = entity.components.ItemEjector;
+ const nextSlot = ejectorComp.getFirstFreeSlot();
+ if (nextSlot !== null) {
+ if (ejectorComp.tryEject(nextSlot, storageComp.storedItem)) {
+ storageComp.storedCount--;
+
+ if (storageComp.storedCount === 0) {
+ storageComp.storedItem = null;
+ }
+ }
+ }
+ }
+
+ let targetAlpha = storageComp.storedCount > 0 ? 1 : 0;
+ storageComp.overlayOpacity = lerp(storageComp.overlayOpacity, targetAlpha, 0.05);
+ }
+ }
+
+ draw(parameters) {
+ this.forEachMatchingEntityOnScreen(parameters, this.drawEntity.bind(this));
+ }
+
+ /**
+ * @param {DrawParameters} parameters
+ * @param {Entity} entity
+ */
+ drawEntity(parameters, entity) {
+ const context = parameters.context;
+ const staticComp = entity.components.StaticMapEntity;
+
+ if (!staticComp.shouldBeDrawn(parameters)) {
+ return;
+ }
+
+ const storageComp = entity.components.Storage;
+
+ const storedItem = storageComp.storedItem;
+ if (storedItem !== null) {
+ context.globalAlpha = storageComp.overlayOpacity;
+ const center = staticComp.getTileSpaceBounds().getCenter().toWorldSpace();
+ storedItem.draw(center.x, center.y, parameters, 30);
+
+ this.storageOverlaySprite.drawCached(parameters, center.x - 15, center.y + 15, 30, 15);
+
+ context.font = "bold 10px GameFont";
+ context.textAlign = "center";
+ context.fillStyle = "#64666e";
+ context.fillText(formatBigNumber(storageComp.storedCount), center.x, center.y + 25.5);
+
+ context.textAlign = "left";
+ context.globalAlpha = 1;
+ }
+ }
+}
diff --git a/src/js/game/tutorial_goals.js b/src/js/game/tutorial_goals.js
index 2e767451..d22a72fe 100644
--- a/src/js/game/tutorial_goals.js
+++ b/src/js/game/tutorial_goals.js
@@ -20,6 +20,7 @@ export const enumHubGoalRewards = {
reward_cutter_quad: "reward_cutter_quad",
reward_painter_double: "reward_painter_double",
reward_painter_quad: "reward_painter_quad",
+ reward_storage: "reward_storage",
reward_freeplay: "reward_freeplay",
@@ -107,6 +108,12 @@ export const tutorialGoals = [
reward: enumHubGoalRewards.reward_underground_belt_tier_2,
},
+ {
+ shape: "SrSrSrSr:CyCyCyCy", // unused
+ required: 7850,
+ reward: enumHubGoalRewards.reward_storage,
+ },
+
{
shape: "SrSrSrSr:CyCyCyCy:SwSwSwSw", // belts t4 (two variants)
required: 8000,
diff --git a/translations/base-en.yaml b/translations/base-en.yaml
index 70a89bff..37f111b1 100644
--- a/translations/base-en.yaml
+++ b/translations/base-en.yaml
@@ -162,6 +162,7 @@ ingame:
infoTexts:
speed: Speed
range: Range
+ storage: Storage
oneItemPerSecond: 1 item / second
itemsPerSecond: items / s
itemsPerSecondDouble: (x2)
@@ -303,6 +304,7 @@ storyRewards:
reward_cutter_quad: Quad Cutting
reward_painter_double: Double Painting
reward_painter_quad: Quad Painting
+ reward_storage: Storage Buffer
reward_freeplay: Freeplay