diff --git a/.gitignore b/.gitignore index 455159c956..2f7d9218d7 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ logs/ /desktop/gifexport/ /core/lib/ /core/assets-raw/sprites/generated/ +/core/assets-raw/sprites_out/ /annotations/build/ /net/build/ /tools/build/ diff --git a/android/src/io/anuke/mindustry/AndroidLauncher.java b/android/src/io/anuke/mindustry/AndroidLauncher.java index 00f71dd74b..5740651713 100644 --- a/android/src/io/anuke/mindustry/AndroidLauncher.java +++ b/android/src/io/anuke/mindustry/AndroidLauncher.java @@ -49,6 +49,8 @@ public class AndroidLauncher extends AndroidApplication{ super.onCreate(savedInstanceState); AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); config.useImmersiveMode = true; + config.numSamples = 2; + config.depth = 0; Platform.instance = new Platform(){ @Override diff --git a/core/assets-raw/sprites/blocks/extra/nuclearreactor-shadow.png b/core/assets-raw/sprites/blocks/extra/nuclearreactor-shadow.png deleted file mode 100644 index 176497866c..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/nuclearreactor-shadow.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/extra/shadow-1.png b/core/assets-raw/sprites/blocks/extra/shadow-1.png deleted file mode 100644 index edc6cdf9bb..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/shadow-1.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/extra/shadow-2.png b/core/assets-raw/sprites/blocks/extra/shadow-2.png deleted file mode 100644 index 7b3cbfdc75..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/shadow-2.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/extra/shadow-3.png b/core/assets-raw/sprites/blocks/extra/shadow-3.png deleted file mode 100644 index 0bc358b1db..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/shadow-3.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/extra/shadow-4.png b/core/assets-raw/sprites/blocks/extra/shadow-4.png deleted file mode 100644 index 6bb965642b..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/shadow-4.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/extra/shadow-5.png b/core/assets-raw/sprites/blocks/extra/shadow-5.png deleted file mode 100644 index e0020cbf44..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/shadow-5.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/extra/shadow-6.png b/core/assets-raw/sprites/blocks/extra/shadow-6.png deleted file mode 100644 index b9c81ea3bc..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/shadow-6.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/extra/shadow-corner.png b/core/assets-raw/sprites/blocks/extra/shadow-corner.png deleted file mode 100644 index 9f27566504..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/shadow-corner.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/extra/shadow-round-1.png b/core/assets-raw/sprites/blocks/extra/shadow-round-1.png deleted file mode 100644 index 18db67b552..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/shadow-round-1.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/extra/shadow-round-2.png b/core/assets-raw/sprites/blocks/extra/shadow-round-2.png deleted file mode 100644 index 5a6c5c4aa3..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/shadow-round-2.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/extra/shadow-round-3.png b/core/assets-raw/sprites/blocks/extra/shadow-round-3.png deleted file mode 100644 index 2bda3d966b..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/shadow-round-3.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/extra/shadow-round-4.png b/core/assets-raw/sprites/blocks/extra/shadow-round-4.png deleted file mode 100644 index 2d9ddf0d3d..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/shadow-round-4.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/extra/shadow-rounded-2.png b/core/assets-raw/sprites/blocks/extra/shadow-rounded-2.png deleted file mode 100644 index 9faec224c2..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/shadow-rounded-2.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/extra/shadow-shock-mine.png b/core/assets-raw/sprites/blocks/extra/shadow-shock-mine.png deleted file mode 100644 index fed06b8960..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/shadow-shock-mine.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/power/power-node-large.png b/core/assets-raw/sprites/blocks/power/power-node-large.png index ee60b08d68..7af50508f5 100644 Binary files a/core/assets-raw/sprites/blocks/power/power-node-large.png and b/core/assets-raw/sprites/blocks/power/power-node-large.png differ diff --git a/core/assets-raw/sprites/blocks/power/power-node.png b/core/assets-raw/sprites/blocks/power/power-node.png index 2191ac583c..3e3a043d2d 100644 Binary files a/core/assets-raw/sprites/blocks/power/power-node.png and b/core/assets-raw/sprites/blocks/power/power-node.png differ diff --git a/core/assets-raw/sprites/blocks/production/itemvoid.png b/core/assets-raw/sprites/blocks/production/itemvoid.png index e6f9836868..1b0af09978 100644 Binary files a/core/assets-raw/sprites/blocks/production/itemvoid.png and b/core/assets-raw/sprites/blocks/production/itemvoid.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/bases/block-2.png b/core/assets-raw/sprites/blocks/turrets/bases/block-2.png index a1c8e9c7d1..63f2f93057 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/bases/block-2.png and b/core/assets-raw/sprites/blocks/turrets/bases/block-2.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/bases/block-3.png b/core/assets-raw/sprites/blocks/turrets/bases/block-3.png index ada915bfac..ec95108038 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/bases/block-3.png and b/core/assets-raw/sprites/blocks/turrets/bases/block-3.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/turrets/duo.png b/core/assets-raw/sprites/blocks/turrets/turrets/duo.png index 8882265fbc..c14c3eec09 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/turrets/duo.png and b/core/assets-raw/sprites/blocks/turrets/turrets/duo.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/turrets/hail.png b/core/assets-raw/sprites/blocks/turrets/turrets/hail.png index d59ea008e6..32de585540 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/turrets/hail.png and b/core/assets-raw/sprites/blocks/turrets/turrets/hail.png differ diff --git a/core/assets-raw/sprites/effects/clear.png b/core/assets-raw/sprites/effects/scale_marker.png similarity index 100% rename from core/assets-raw/sprites/effects/clear.png rename to core/assets-raw/sprites/effects/scale_marker.png diff --git a/core/assets-raw/sprites/pack.json b/core/assets-raw/sprites/pack.json index abd5ae6584..91480ffa76 100644 --- a/core/assets-raw/sprites/pack.json +++ b/core/assets-raw/sprites/pack.json @@ -2,5 +2,7 @@ duplicatePadding: true, combineSubdirectories: true, flattenPaths: true, - fast: true + maxWidth: 2048, + maxHeight: 2048, + fast: true, } diff --git a/core/assets-raw/sprites/ui/button-down.9.png b/core/assets-raw/sprites/ui/button-down.9.png index de800bf233..3e8c108d52 100644 Binary files a/core/assets-raw/sprites/ui/button-down.9.png and b/core/assets-raw/sprites/ui/button-down.9.png differ diff --git a/core/assets-raw/sprites/ui/button-edge-1.9.png b/core/assets-raw/sprites/ui/button-edge-1.9.png index 5833e18f2f..2502858baa 100644 Binary files a/core/assets-raw/sprites/ui/button-edge-1.9.png and b/core/assets-raw/sprites/ui/button-edge-1.9.png differ diff --git a/core/assets-raw/sprites/ui/button-edge-2.9.png b/core/assets-raw/sprites/ui/button-edge-2.9.png index 40ef1bad93..c6ee4208e1 100644 Binary files a/core/assets-raw/sprites/ui/button-edge-2.9.png and b/core/assets-raw/sprites/ui/button-edge-2.9.png differ diff --git a/core/assets-raw/sprites/ui/button-edge-3.9.png b/core/assets-raw/sprites/ui/button-edge-3.9.png index bc63ca5beb..349c5b2fe8 100644 Binary files a/core/assets-raw/sprites/ui/button-edge-3.9.png and b/core/assets-raw/sprites/ui/button-edge-3.9.png differ diff --git a/core/assets-raw/sprites/ui/button-edge-4.9.png b/core/assets-raw/sprites/ui/button-edge-4.9.png index 0d1aac1186..b8d4abb820 100644 Binary files a/core/assets-raw/sprites/ui/button-edge-4.9.png and b/core/assets-raw/sprites/ui/button-edge-4.9.png differ diff --git a/core/assets-raw/sprites/ui/button-over.9.png b/core/assets-raw/sprites/ui/button-over.9.png index e274175562..da58085c33 100644 Binary files a/core/assets-raw/sprites/ui/button-over.9.png and b/core/assets-raw/sprites/ui/button-over.9.png differ diff --git a/core/assets-raw/sprites/ui/button-select.9.png b/core/assets-raw/sprites/ui/button-select.9.png index 8011cad610..a636259c96 100644 Binary files a/core/assets-raw/sprites/ui/button-select.9.png and b/core/assets-raw/sprites/ui/button-select.9.png differ diff --git a/core/assets-raw/sprites/ui/button.9.png b/core/assets-raw/sprites/ui/button.9.png index f982c6939b..84d9576166 100644 Binary files a/core/assets-raw/sprites/ui/button.9.png and b/core/assets-raw/sprites/ui/button.9.png differ diff --git a/core/assets-raw/sprites/ui/logotext.png b/core/assets-raw/sprites/ui/logotext.png index bc40afe85a..cc22dab5c7 100644 Binary files a/core/assets-raw/sprites/ui/logotext.png and b/core/assets-raw/sprites/ui/logotext.png differ diff --git a/core/assets-raw/sprites/ui/pane-2.9.png b/core/assets-raw/sprites/ui/pane-2.9.png index bf9ca991b5..b83c929833 100644 Binary files a/core/assets-raw/sprites/ui/pane-2.9.png and b/core/assets-raw/sprites/ui/pane-2.9.png differ diff --git a/core/assets-raw/sprites/ui/pane.9.png b/core/assets-raw/sprites/ui/pane.9.png index 56c69a8dd8..eb07b24fa0 100644 Binary files a/core/assets-raw/sprites/ui/pane.9.png and b/core/assets-raw/sprites/ui/pane.9.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/bridge-conveyor.png b/core/assets-raw/sprites_replacement/blocks/distribution/bridge-conveyor.png new file mode 100644 index 0000000000..76b29569ea Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/bridge-conveyor.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-0-0.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-0-0.png new file mode 100644 index 0000000000..2e55ce429a Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-0-0.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-0-1.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-0-1.png new file mode 100644 index 0000000000..34a281b719 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-0-1.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-0-2.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-0-2.png new file mode 100644 index 0000000000..0b7db4da5c Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-0-2.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-0-3.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-0-3.png new file mode 100644 index 0000000000..a85cfdad60 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-0-3.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-1-0.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-1-0.png new file mode 100644 index 0000000000..18736adf66 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-1-0.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-1-1.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-1-1.png new file mode 100644 index 0000000000..807b2bf17d Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-1-1.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-1-2.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-1-2.png new file mode 100644 index 0000000000..faf67a8736 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-1-2.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-1-3.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-1-3.png new file mode 100644 index 0000000000..edbb81841f Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-1-3.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-2-0.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-2-0.png new file mode 100644 index 0000000000..ffd0e24f58 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-2-0.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-2-1.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-2-1.png new file mode 100644 index 0000000000..f249623779 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-2-1.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-2-2.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-2-2.png new file mode 100644 index 0000000000..3c04427e1a Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-2-2.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-2-3.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-2-3.png new file mode 100644 index 0000000000..439afb9c4b Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-2-3.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-3-0.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-3-0.png new file mode 100644 index 0000000000..2485ac23b6 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-3-0.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-3-1.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-3-1.png new file mode 100644 index 0000000000..c7997843d0 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-3-1.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-3-2.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-3-2.png new file mode 100644 index 0000000000..22e6868cce Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-3-2.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-3-3.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-3-3.png new file mode 100644 index 0000000000..7a94546637 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-3-3.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-4-0.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-4-0.png new file mode 100644 index 0000000000..3563503f6f Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-4-0.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-4-1.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-4-1.png new file mode 100644 index 0000000000..83c49920b4 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-4-1.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-4-2.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-4-2.png new file mode 100644 index 0000000000..c89f011734 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-4-2.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-4-3.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-4-3.png new file mode 100644 index 0000000000..acfe7e8136 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/conveyor-4-3.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-0-0.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-0-0.png new file mode 100644 index 0000000000..29af97eb5c Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-0-0.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-0-1.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-0-1.png new file mode 100644 index 0000000000..ecd054afa6 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-0-1.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-0-2.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-0-2.png new file mode 100644 index 0000000000..7dc49bd440 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-0-2.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-0-3.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-0-3.png new file mode 100644 index 0000000000..97e31e5722 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-0-3.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-1-0.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-1-0.png new file mode 100644 index 0000000000..7e7bb86c62 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-1-0.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-1-1.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-1-1.png new file mode 100644 index 0000000000..ffbafc5cdf Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-1-1.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-1-2.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-1-2.png new file mode 100644 index 0000000000..f9dd561d6d Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-1-2.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-1-3.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-1-3.png new file mode 100644 index 0000000000..5377953723 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-1-3.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-2-0.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-2-0.png new file mode 100644 index 0000000000..2f53cd53fd Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-2-0.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-2-1.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-2-1.png new file mode 100644 index 0000000000..29727566b0 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-2-1.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-2-2.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-2-2.png new file mode 100644 index 0000000000..464a7d4cf8 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-2-2.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-2-3.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-2-3.png new file mode 100644 index 0000000000..53c6124f64 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-2-3.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-3-0.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-3-0.png new file mode 100644 index 0000000000..aee4b266b2 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-3-0.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-3-1.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-3-1.png new file mode 100644 index 0000000000..a547a7790f Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-3-1.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-3-2.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-3-2.png new file mode 100644 index 0000000000..0dafebb699 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-3-2.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-3-3.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-3-3.png new file mode 100644 index 0000000000..ae7bad0c38 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-3-3.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-4-0.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-4-0.png new file mode 100644 index 0000000000..e001d5f945 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-4-0.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-4-1.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-4-1.png new file mode 100644 index 0000000000..992e544fc7 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-4-1.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-4-2.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-4-2.png new file mode 100644 index 0000000000..9c26ceef47 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-4-2.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-4-3.png b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-4-3.png new file mode 100644 index 0000000000..09db7b8269 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/conveyors/titanium-conveyor-4-3.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/distribution/junction.png b/core/assets-raw/sprites_replacement/blocks/distribution/junction.png new file mode 100644 index 0000000000..e84244e630 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/distribution/junction.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/liquid/conduit-top-0.png b/core/assets-raw/sprites_replacement/blocks/liquid/conduit-top-0.png new file mode 100644 index 0000000000..9dc9384971 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/liquid/conduit-top-0.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/liquid/conduit-top-1.png b/core/assets-raw/sprites_replacement/blocks/liquid/conduit-top-1.png new file mode 100644 index 0000000000..e219a5751d Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/liquid/conduit-top-1.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/liquid/conduit-top-5.png b/core/assets-raw/sprites_replacement/blocks/liquid/conduit-top-5.png new file mode 100644 index 0000000000..72461ba0b6 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/liquid/conduit-top-5.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/liquid/pulse-conduit-top-0.png b/core/assets-raw/sprites_replacement/blocks/liquid/pulse-conduit-top-0.png new file mode 100644 index 0000000000..c6a453fed9 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/liquid/pulse-conduit-top-0.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/liquid/pulse-conduit-top-1.png b/core/assets-raw/sprites_replacement/blocks/liquid/pulse-conduit-top-1.png new file mode 100644 index 0000000000..62f03471c4 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/liquid/pulse-conduit-top-1.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/power/power-node-large.png b/core/assets-raw/sprites_replacement/blocks/power/power-node-large.png new file mode 100644 index 0000000000..0a76d7e1a7 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/power/power-node-large.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/power/power-node.png b/core/assets-raw/sprites_replacement/blocks/power/power-node.png new file mode 100644 index 0000000000..0e7296b98f Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/power/power-node.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/power/powerinfinite.png b/core/assets-raw/sprites_replacement/blocks/power/powerinfinite.png new file mode 100644 index 0000000000..f4c6473df4 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/power/powerinfinite.png differ diff --git a/core/assets-raw/sprites_replacement/blocks/power/powervoid.png b/core/assets-raw/sprites_replacement/blocks/power/powervoid.png new file mode 100644 index 0000000000..fee2a2b3e8 Binary files /dev/null and b/core/assets-raw/sprites_replacement/blocks/power/powervoid.png differ diff --git a/core/assets-raw/sprites/effects/blank.png b/core/assets-raw/sprites_replacement/shapes/blank.png similarity index 100% rename from core/assets-raw/sprites/effects/blank.png rename to core/assets-raw/sprites_replacement/shapes/blank.png diff --git a/core/assets-raw/sprites/shapes/circle.png b/core/assets-raw/sprites_replacement/shapes/circle.png similarity index 100% rename from core/assets-raw/sprites/shapes/circle.png rename to core/assets-raw/sprites_replacement/shapes/circle.png diff --git a/core/assets-raw/sprites_replacement/shapes/clear.png b/core/assets-raw/sprites_replacement/shapes/clear.png new file mode 100644 index 0000000000..dc8beb206c Binary files /dev/null and b/core/assets-raw/sprites_replacement/shapes/clear.png differ diff --git a/core/assets-raw/sprites/shapes/shape-3.png b/core/assets-raw/sprites_replacement/shapes/shape-3.png similarity index 100% rename from core/assets-raw/sprites/shapes/shape-3.png rename to core/assets-raw/sprites_replacement/shapes/shape-3.png diff --git a/core/assets/shaders/blockbuild.fragment b/core/assets/shaders/blockbuild.fragment index f79b58b3c0..e683997ba4 100644 --- a/core/assets/shaders/blockbuild.fragment +++ b/core/assets/shaders/blockbuild.fragment @@ -29,10 +29,6 @@ bool cont(vec2 T, vec2 v){ id(T + vec2(step, 0) * v, base) || id(T + vec2(-step, 0) * v, base)); } -float rand(vec2 co){ - return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453); -} - void main() { vec2 t = v_texCoord.xy; @@ -51,11 +47,11 @@ void main() { chance = 1.0-(u_progress-0.8)*5.0; } - if((mod(u_time / 1.5 + value, 20.0) < 5.0 && cont(t, v)) && rand(coords) < chance){ + if((mod(u_time / 1.5 + value, 20.0) < 5.0 && cont(t, v))){ gl_FragColor = u_color; }else if(dst > (1.0-u_progress) * (center.x)){ gl_FragColor = color; - }else if((dst + 1.0 > (1.0-u_progress) * (center.x)) && color.a > 0.1 && rand(coords) < chance){ + }else if((dst + 1.0 > (1.0-u_progress) * (center.x)) && color.a > 0.1){ gl_FragColor = u_color; }else{ gl_FragColor = vec4(0.0); diff --git a/core/assets/shaders/build.fragment b/core/assets/shaders/build.fragment index 1762a407be..a5bd5c05f1 100644 --- a/core/assets/shaders/build.fragment +++ b/core/assets/shaders/build.fragment @@ -29,18 +29,11 @@ void main() { vec4 c = texture2D(u_texture, v_texCoord.xy); - vec2 v = vec2(1.0/u_texsize.x, 1.0/u_texsize.y); - float step = 1.0; - - bool outline = texture2D(u_texture, t).a < 0.1 && - (id(texture2D(u_texture, t + vec2(0, step) * v)) || id(texture2D(u_texture, t + vec2(0, -step) * v)) || - id(texture2D(u_texture, t + vec2(step, 0) * v)) || id(texture2D(u_texture, t + vec2(-step, 0) * v))); - if(1.0-abs(coords.x - 0.5)*2.0 < 1.0-u_progress){ c = vec4(0.0); } - if(c.a > 0.01 || outline){ + if(c.a > 0.01){ float f = abs(sin(coords.x*2.0 + u_time)); if(f > 0.9 ) f = 1.0; diff --git a/core/assets/shaders/menu.fragment b/core/assets/shaders/menu.fragment index 397cf6dbc9..1d793559ca 100644 --- a/core/assets/shaders/menu.fragment +++ b/core/assets/shaders/menu.fragment @@ -7,6 +7,7 @@ precision mediump int; #define p2 vec3(234.0,182.0,120.0)/255.0 #define p3 vec3(212.0,129.0,107.0)/255.0 #define p4 vec3(142.0,77.0,72.0)/255.0 +#define roundm 0.2 uniform sampler2D u_texture; uniform vec2 u_resolution; @@ -21,12 +22,11 @@ varying vec2 v_texCoord; void main() { ivec2 coords = ivec2((gl_FragCoord.xy - u_resolution/2.0)/u_scl); - int roundx = 8; - int roundy = roundx; - float roundm = 0.2; + //int roundx = 8; + //int roundy = roundx; - coords.x = (coords.x / roundx) * roundx; - coords.y = (coords.y / roundy) * roundy; + //coords.x = (coords.x / roundx) * roundx; + //coords.y = (coords.y / roundy) * roundy; float d = (abs(float(coords.x)) - abs(float(coords.y))); diff --git a/core/assets/shaders/outline.fragment b/core/assets/shaders/outline.fragment index 46f6f6872d..d04964d453 100644 --- a/core/assets/shaders/outline.fragment +++ b/core/assets/shaders/outline.fragment @@ -3,7 +3,7 @@ precision mediump float; precision mediump int; #endif -#define SPACE 1.0 +#define SPACE 2.0 uniform sampler2D u_texture; @@ -20,8 +20,23 @@ void main() { gl_FragColor = mix(c * v_color, u_color, (1.0-step(0.1, texture2D(u_texture, v_texCoord.xy).a)) * - step(0.1, texture2D(u_texture, v_texCoord.xy + vec2(0, SPACE) * v).a + + step(0.1, + //cardinals + texture2D(u_texture, v_texCoord.xy + vec2(0, SPACE) * v).a + texture2D(u_texture, v_texCoord.xy + vec2(0, -SPACE) * v).a + texture2D(u_texture, v_texCoord.xy + vec2(SPACE, 0) * v).a + - texture2D(u_texture, v_texCoord.xy + vec2(-SPACE, 0) * v).a)); + texture2D(u_texture, v_texCoord.xy + vec2(-SPACE, 0) * v).a + + + //cardinal edges + texture2D(u_texture, v_texCoord.xy + vec2(SPACE, SPACE) * v).a + + texture2D(u_texture, v_texCoord.xy + vec2(SPACE, -SPACE) * v).a + + texture2D(u_texture, v_texCoord.xy + vec2(-SPACE, SPACE) * v).a + + texture2D(u_texture, v_texCoord.xy + vec2(-SPACE, -SPACE) * v).a + + + //cardinals * 2 + texture2D(u_texture, v_texCoord.xy + vec2(0, SPACE) * v*2.0).a + + texture2D(u_texture, v_texCoord.xy + vec2(0, -SPACE) * v*2.0).a + + texture2D(u_texture, v_texCoord.xy + vec2(SPACE, 0) * v*2.0).a + + texture2D(u_texture, v_texCoord.xy + vec2(-SPACE, 0) * v*2.0).a + )); } diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 9a52df3e11..22ebe33317 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -1,5283 +1,5192 @@ sprites.png -size: 1024,512 +size: 2048,2048 format: RGBA8888 filter: Nearest,Nearest repeat: none force-projector-top rotate: false - xy: 392, 312 - size: 24, 24 - orig: 24, 24 + xy: 327, 1503 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 mend-projector-top rotate: false - xy: 530, 378 - size: 16, 16 - orig: 16, 16 + xy: 1065, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 overdrive-projector-top rotate: false - xy: 512, 342 - size: 16, 16 - orig: 16, 16 + xy: 1263, 1787 + size: 64, 64 + orig: 64, 64 + offset: 0, 0 + index: -1 +bridge-conveyor + rotate: false + xy: 295, 713 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-bridge rotate: false - xy: 84, 108 - size: 8, 8 - orig: 8, 8 + xy: 329, 747 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-end rotate: false - xy: 124, 138 - size: 8, 8 - orig: 8, 8 + xy: 295, 679 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-1 rotate: false - xy: 124, 98 - size: 8, 8 - orig: 8, 8 + xy: 329, 305 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-2 rotate: false - xy: 174, 138 - size: 8, 8 - orig: 8, 8 + xy: 295, 237 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-3 rotate: false - xy: 164, 128 - size: 8, 8 - orig: 8, 8 + xy: 329, 271 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-0 rotate: false - xy: 154, 118 - size: 8, 8 - orig: 8, 8 + xy: 295, 203 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-1 rotate: false - xy: 144, 108 - size: 8, 8 - orig: 8, 8 + xy: 329, 237 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-2 rotate: false - xy: 134, 98 - size: 8, 8 - orig: 8, 8 + xy: 295, 169 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-3 rotate: false - xy: 184, 138 - size: 8, 8 - orig: 8, 8 + xy: 329, 203 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-0 rotate: false - xy: 174, 128 - size: 8, 8 - orig: 8, 8 + xy: 295, 135 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-1 rotate: false - xy: 164, 118 - size: 8, 8 - orig: 8, 8 + xy: 329, 169 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-2 rotate: false - xy: 154, 108 - size: 8, 8 - orig: 8, 8 + xy: 295, 101 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-3 rotate: false - xy: 144, 98 - size: 8, 8 - orig: 8, 8 + xy: 329, 135 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-0 rotate: false - xy: 184, 128 - size: 8, 8 - orig: 8, 8 + xy: 295, 67 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-1 rotate: false - xy: 174, 118 - size: 8, 8 - orig: 8, 8 + xy: 329, 101 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-2 rotate: false - xy: 164, 108 - size: 8, 8 - orig: 8, 8 + xy: 329, 67 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-3 rotate: false - xy: 154, 98 - size: 8, 8 - orig: 8, 8 + xy: 301, 33 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-0 rotate: false - xy: 184, 118 - size: 8, 8 - orig: 8, 8 + xy: 335, 33 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-1 rotate: false - xy: 174, 108 - size: 8, 8 - orig: 8, 8 + xy: 401, 913 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-2 rotate: false - xy: 164, 98 - size: 8, 8 - orig: 8, 8 + xy: 435, 913 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-3 rotate: false - xy: 184, 108 - size: 8, 8 - orig: 8, 8 + xy: 499, 1011 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-1 rotate: false - xy: 93, 39 - size: 8, 8 - orig: 8, 8 + xy: 403, 879 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-2 rotate: false - xy: 103, 38 - size: 8, 8 - orig: 8, 8 + xy: 437, 879 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-3 rotate: false - xy: 113, 38 - size: 8, 8 - orig: 8, 8 + xy: 371, 845 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-0 rotate: false - xy: 123, 38 - size: 8, 8 - orig: 8, 8 + xy: 405, 845 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-1 rotate: false - xy: 133, 38 - size: 8, 8 - orig: 8, 8 + xy: 439, 845 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-2 rotate: false - xy: 143, 38 - size: 8, 8 - orig: 8, 8 + xy: 397, 811 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-3 rotate: false - xy: 153, 38 - size: 8, 8 - orig: 8, 8 + xy: 397, 777 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-0 rotate: false - xy: 163, 38 - size: 8, 8 - orig: 8, 8 + xy: 431, 811 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-1 rotate: false - xy: 173, 38 - size: 8, 8 - orig: 8, 8 + xy: 397, 743 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-2 rotate: false - xy: 183, 38 - size: 8, 8 - orig: 8, 8 + xy: 431, 777 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-3 rotate: false - xy: 91, 29 - size: 8, 8 - orig: 8, 8 + xy: 397, 709 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-0 rotate: false - xy: 91, 19 - size: 8, 8 - orig: 8, 8 + xy: 431, 743 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-1 rotate: false - xy: 91, 9 - size: 8, 8 - orig: 8, 8 + xy: 397, 675 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-2 rotate: false - xy: 101, 28 - size: 8, 8 - orig: 8, 8 + xy: 431, 709 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-3 rotate: false - xy: 101, 18 - size: 8, 8 - orig: 8, 8 + xy: 397, 641 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-0 rotate: false - xy: 111, 28 - size: 8, 8 - orig: 8, 8 + xy: 431, 675 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-1 rotate: false - xy: 111, 18 - size: 8, 8 - orig: 8, 8 + xy: 397, 607 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-2 rotate: false - xy: 121, 28 - size: 8, 8 - orig: 8, 8 + xy: 431, 641 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-3 rotate: false - xy: 121, 18 - size: 8, 8 - orig: 8, 8 + xy: 397, 573 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +junction + rotate: false + xy: 1019, 1243 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 mass-driver-turret rotate: false - xy: 778, 427 - size: 24, 24 - orig: 24, 24 + xy: 327, 1209 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 phase-conveyor-arrow rotate: false - xy: 457, 220 - size: 8, 8 - orig: 8, 8 + xy: 1679, 1333 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-bridge rotate: false - xy: 467, 240 - size: 8, 8 - orig: 8, 8 + xy: 1713, 1367 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-end rotate: false - xy: 467, 230 - size: 8, 8 - orig: 8, 8 + xy: 1747, 1401 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 warp-gate rotate: false - xy: 934, 427 - size: 24, 24 - orig: 24, 24 + xy: 425, 1111 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 warp-gate-top rotate: false - xy: 960, 453 - size: 24, 24 - orig: 24, 24 + xy: 523, 1209 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 blast-drill rotate: false - xy: 39, 17 - size: 24, 24 - orig: 24, 24 + xy: 131, 1414 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 blast-drill-rim rotate: false - xy: 622, 458 - size: 24, 24 - orig: 24, 24 + xy: 131, 1316 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 blast-drill-rotator rotate: false - xy: 648, 461 - size: 24, 24 - orig: 24, 24 + xy: 131, 1218 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 blast-drill-top rotate: false - xy: 288, 372 - size: 24, 24 - orig: 24, 24 + xy: 131, 1120 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 laser-drill rotate: false - xy: 531, 252 - size: 16, 16 - orig: 16, 16 + xy: 933, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 laser-drill-rotator rotate: false - xy: 512, 396 - size: 16, 16 - orig: 16, 16 + xy: 1131, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 laser-drill-top rotate: false - xy: 512, 378 - size: 16, 16 - orig: 16, 16 + xy: 1065, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 mechanical-drill rotate: false - xy: 530, 396 - size: 16, 16 - orig: 16, 16 + xy: 999, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 mechanical-drill-rotator rotate: false - xy: 512, 360 - size: 16, 16 - orig: 16, 16 + xy: 1197, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 mechanical-drill-top rotate: false - xy: 548, 396 - size: 16, 16 - orig: 16, 16 + xy: 1131, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 oil-extractor rotate: false - xy: 804, 453 - size: 24, 24 - orig: 24, 24 + xy: 425, 1307 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-liquid rotate: false - xy: 804, 427 - size: 24, 24 - orig: 24, 24 + xy: 523, 1405 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-rotator rotate: false - xy: 830, 453 - size: 24, 24 - orig: 24, 24 + xy: 621, 1503 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 oil-extractor-top rotate: false - xy: 830, 427 - size: 24, 24 - orig: 24, 24 + xy: 229, 1013 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 plasma-drill rotate: false - xy: 269, 398 - size: 32, 32 - orig: 32, 32 + xy: 943, 1919 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 plasma-drill-rim rotate: false - xy: 303, 435 - size: 32, 32 - orig: 32, 32 + xy: 1073, 1919 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 plasma-drill-rotator rotate: false - xy: 303, 401 - size: 32, 32 - orig: 32, 32 + xy: 1203, 1919 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 plasma-drill-top rotate: false - xy: 254, 364 - size: 32, 32 - orig: 32, 32 + xy: 1333, 1919 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 pneumatic-drill rotate: false - xy: 566, 378 - size: 16, 16 - orig: 16, 16 + xy: 1329, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 pneumatic-drill-rotator rotate: false - xy: 548, 360 - size: 16, 16 - orig: 16, 16 + xy: 1263, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 pneumatic-drill-top rotate: false - xy: 602, 396 - size: 16, 16 - orig: 16, 16 + xy: 1461, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 water-extractor rotate: false - xy: 554, 270 - size: 16, 16 - orig: 16, 16 + xy: 1791, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 water-extractor-liquid rotate: false - xy: 549, 252 - size: 16, 16 - orig: 16, 16 + xy: 1725, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 water-extractor-rotator rotate: false - xy: 584, 324 - size: 16, 16 - orig: 16, 16 + xy: 1857, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 water-extractor-top rotate: false - xy: 582, 306 - size: 16, 16 - orig: 16, 16 + xy: 1791, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 blackrock1 rotate: false - xy: 672, 353 - size: 8, 8 - orig: 8, 8 + xy: 963, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-blackrock rotate: false - xy: 672, 353 - size: 8, 8 - orig: 8, 8 + xy: 963, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 blackrockshadow1 rotate: false - xy: 684, 365 - size: 8, 8 - orig: 8, 8 + xy: 997, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 blackstone1 rotate: false - xy: 708, 389 - size: 8, 8 - orig: 8, 8 + xy: 1031, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-blackstone rotate: false - xy: 708, 389 - size: 8, 8 - orig: 8, 8 + xy: 1031, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 blackstone2 rotate: false - xy: 672, 343 - size: 8, 8 - orig: 8, 8 + xy: 1065, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 blackstone3 rotate: false - xy: 1012, 437 - size: 8, 8 - orig: 8, 8 + xy: 1099, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 blackstoneedge rotate: false - xy: 288, 332 - size: 12, 12 - orig: 12, 12 + xy: 1812, 1605 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 coal1 rotate: false - xy: 114, 128 - size: 8, 8 - orig: 8, 8 + xy: 329, 713 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 coal2 rotate: false - xy: 104, 118 - size: 8, 8 - orig: 8, 8 + xy: 295, 645 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 coal3 rotate: false - xy: 94, 108 - size: 8, 8 - orig: 8, 8 + xy: 329, 679 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 copper1 rotate: false - xy: 174, 98 - size: 8, 8 - orig: 8, 8 + xy: 533, 1011 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 copper2 rotate: false - xy: 184, 98 - size: 8, 8 - orig: 8, 8 + xy: 1407, 1403 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 copper3 rotate: false - xy: 84, 88 - size: 8, 8 - orig: 8, 8 + xy: 1435, 1521 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 dirt2 rotate: false - xy: 154, 88 - size: 8, 8 - orig: 8, 8 + xy: 1475, 1453 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 dirt3 rotate: false - xy: 164, 88 - size: 8, 8 - orig: 8, 8 + xy: 1475, 1419 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 dirtedge rotate: false - xy: 634, 278 - size: 12, 12 - orig: 12, 12 + xy: 885, 1497 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 generic-cliff-edge rotate: false - xy: 103, 78 - size: 8, 8 - orig: 8, 8 + xy: 927, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ice-cliff-edge rotate: false - xy: 103, 78 - size: 8, 8 - orig: 8, 8 + xy: 927, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 generic-cliff-edge-1 rotate: false - xy: 83, 48 - size: 8, 8 - orig: 8, 8 + xy: 363, 577 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ice-cliff-edge-1 rotate: false - xy: 83, 48 - size: 8, 8 - orig: 8, 8 + xy: 363, 577 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 generic-cliff-edge-2 rotate: false - xy: 93, 59 - size: 8, 8 - orig: 8, 8 + xy: 961, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ice-cliff-edge-2 rotate: false - xy: 93, 59 - size: 8, 8 - orig: 8, 8 + xy: 961, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 generic-cliff-side rotate: false - xy: 103, 68 - size: 8, 8 - orig: 8, 8 + xy: 363, 543 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ice-cliff-side rotate: false - xy: 103, 68 - size: 8, 8 - orig: 8, 8 + xy: 363, 543 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 grass-cliff-edge rotate: false - xy: 103, 58 - size: 8, 8 - orig: 8, 8 + xy: 1029, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 grass-cliff-edge-1 rotate: false - xy: 113, 68 - size: 8, 8 - orig: 8, 8 + xy: 363, 475 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 grass-cliff-edge-2 rotate: false - xy: 123, 78 - size: 8, 8 - orig: 8, 8 + xy: 1063, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 grass-cliff-side rotate: false - xy: 113, 58 - size: 8, 8 - orig: 8, 8 + xy: 363, 441 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 grass2 rotate: false - xy: 113, 78 - size: 8, 8 - orig: 8, 8 + xy: 995, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 grass3 rotate: false - xy: 93, 49 - size: 8, 8 - orig: 8, 8 + xy: 363, 509 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 grassedge rotate: false - xy: 585, 256 - size: 12, 12 - orig: 12, 12 + xy: 1035, 1547 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 ice2 rotate: false - xy: 133, 78 - size: 8, 8 - orig: 8, 8 + xy: 363, 407 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ice3 rotate: false - xy: 123, 58 - size: 8, 8 - orig: 8, 8 + xy: 1131, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 iceedge rotate: false - xy: 620, 264 - size: 12, 12 - orig: 12, 12 + xy: 935, 1447 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 icerock2 rotate: false - xy: 133, 68 - size: 8, 8 - orig: 8, 8 + xy: 363, 373 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 icerockshadow1 rotate: false - xy: 143, 78 - size: 8, 8 - orig: 8, 8 + xy: 1165, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 rockshadow1 rotate: false - xy: 143, 78 - size: 8, 8 - orig: 8, 8 + xy: 1165, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 icerockshadow2 rotate: false - xy: 133, 58 - size: 8, 8 - orig: 8, 8 + xy: 363, 339 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 rockshadow2 rotate: false - xy: 133, 58 - size: 8, 8 - orig: 8, 8 + xy: 363, 339 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 lavaedge rotate: false - xy: 585, 242 - size: 12, 12 - orig: 12, 12 + xy: 1135, 1547 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 lead1 rotate: false - xy: 183, 48 - size: 8, 8 - orig: 8, 8 + xy: 1121, 1243 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 lead2 rotate: false - xy: 1004, 395 - size: 8, 8 - orig: 8, 8 + xy: 1087, 1209 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 lead3 rotate: false - xy: 1004, 385 - size: 8, 8 - orig: 8, 8 + xy: 1155, 1243 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 metalfloor2 rotate: false - xy: 694, 365 - size: 8, 8 - orig: 8, 8 + xy: 1257, 1209 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 metalfloor3 rotate: false - xy: 708, 379 - size: 8, 8 - orig: 8, 8 + xy: 1291, 1209 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 metalfloor4 rotate: false - xy: 740, 379 - size: 8, 8 - orig: 8, 8 + xy: 993, 1175 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 metalfloor5 rotate: false - xy: 682, 353 - size: 8, 8 - orig: 8, 8 + xy: 993, 1141 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 metalfloor6 rotate: false - xy: 682, 343 - size: 8, 8 - orig: 8, 8 + xy: 1027, 1175 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 metalflooredge rotate: false - xy: 641, 250 - size: 12, 12 - orig: 12, 12 + xy: 1135, 1497 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 rock2 rotate: false - xy: 497, 222 - size: 8, 8 - orig: 8, 8 + xy: 1849, 1401 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 sand2 rotate: false - xy: 517, 232 - size: 8, 8 - orig: 8, 8 + xy: 1849, 1367 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 sand3 rotate: false - xy: 507, 222 - size: 8, 8 - orig: 8, 8 + xy: 1849, 1333 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 sandedge rotate: false - xy: 599, 236 - size: 12, 12 - orig: 12, 12 + xy: 1085, 1447 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 shrubshadow rotate: false - xy: 557, 232 - size: 8, 8 - orig: 8, 8 + xy: 1917, 1331 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 snow2 rotate: false - xy: 547, 222 - size: 8, 8 - orig: 8, 8 + xy: 1927, 1535 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 snow3 rotate: false - xy: 567, 242 - size: 8, 8 - orig: 8, 8 + xy: 1951, 1501 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 snowedge rotate: false - xy: 627, 236 - size: 12, 12 - orig: 12, 12 + xy: 1185, 1497 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 spaceedge rotate: false - xy: 641, 236 - size: 12, 12 - orig: 12, 12 + xy: 1135, 1447 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 stone-cliff-edge rotate: false - xy: 204, 122 - size: 8, 8 - orig: 8, 8 + xy: 1985, 1391 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 stone-cliff-edge-1 rotate: false - xy: 204, 112 - size: 8, 8 - orig: 8, 8 + xy: 1985, 1357 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 stone-cliff-edge-2 rotate: false - xy: 204, 102 - size: 8, 8 - orig: 8, 8 + xy: 1985, 1323 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 stone-cliff-side rotate: false - xy: 204, 92 - size: 8, 8 - orig: 8, 8 + xy: 1679, 1299 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 stone2 rotate: false - xy: 205, 142 - size: 8, 8 - orig: 8, 8 + xy: 1985, 1459 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 stone3 rotate: false - xy: 204, 132 - size: 8, 8 - orig: 8, 8 + xy: 1985, 1425 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 stoneedge rotate: false - xy: 655, 236 - size: 12, 12 - orig: 12, 12 + xy: 1235, 1497 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 taredge rotate: false - xy: 998, 433 - size: 12, 12 - orig: 12, 12 + xy: 1335, 1547 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 thorium1 rotate: false - xy: 203, 72 - size: 8, 8 - orig: 8, 8 + xy: 1849, 1299 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 thorium2 rotate: false - xy: 193, 52 - size: 8, 8 - orig: 8, 8 + xy: 1883, 1297 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 thorium3 rotate: false - xy: 203, 62 - size: 8, 8 - orig: 8, 8 + xy: 1917, 1297 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium1 rotate: false - xy: 203, 52 - size: 8, 8 - orig: 8, 8 + xy: 1951, 1297 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium2 rotate: false - xy: 193, 42 - size: 8, 8 - orig: 8, 8 + xy: 1985, 1289 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium3 rotate: false - xy: 203, 42 - size: 8, 8 - orig: 8, 8 + xy: 369, 879 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 water-cliff-edge rotate: false - xy: 131, 18 - size: 8, 8 - orig: 8, 8 + xy: 397, 539 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 water-cliff-edge-1 rotate: false - xy: 141, 28 - size: 8, 8 - orig: 8, 8 + xy: 431, 573 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 water-cliff-edge-2 rotate: false - xy: 141, 18 - size: 8, 8 - orig: 8, 8 + xy: 397, 505 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 water-cliff-side rotate: false - xy: 151, 28 - size: 8, 8 - orig: 8, 8 + xy: 431, 539 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 wateredge rotate: false - xy: 1000, 349 - size: 12, 12 - orig: 12, 12 + xy: 1285, 1447 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 block-border rotate: false - xy: 672, 323 - size: 8, 8 - orig: 8, 8 + xy: 1625, 1571 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-elevation rotate: false - xy: 662, 317 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -combustion-generator-top - rotate: false - xy: 662, 317 - size: 8, 8 - orig: 8, 8 + xy: 1659, 1571 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-middle rotate: false - xy: 104, 138 - size: 8, 8 - orig: 8, 8 + xy: 267, 15 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 pump-liquid rotate: false - xy: 104, 138 - size: 8, 8 - orig: 8, 8 + xy: 267, 15 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-slope rotate: false - xy: 94, 128 - size: 8, 8 - orig: 8, 8 + xy: 303, 815 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 border rotate: false - xy: 84, 118 - size: 8, 8 - orig: 8, 8 + xy: 337, 815 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 144, 128 - size: 8, 8 - orig: 8, 8 + xy: 329, 441 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 cross-1 rotate: false - xy: 94, 88 - size: 8, 8 - orig: 8, 8 + xy: 1441, 1487 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 cross-2 rotate: false - xy: 950, 361 - size: 16, 16 - orig: 16, 16 + xy: 663, 1073 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 cross-3 rotate: false - xy: 340, 312 - size: 24, 24 - orig: 24, 24 + xy: 229, 1503 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 cross-4 rotate: false - xy: 949, 479 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -nuclearreactor-shadow - rotate: false - xy: 499, 416 - size: 26, 26 - orig: 26, 26 + xy: 594, 1797 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 place-arrow rotate: false - xy: 467, 220 - size: 8, 8 - orig: 8, 8 + xy: 1781, 1435 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ripples rotate: false - xy: 684, 387 - size: 10, 10 - orig: 10, 10 + xy: 1385, 1505 + size: 40, 40 + orig: 40, 40 offset: 0, 0 index: -1 rubble-1-0 rotate: false - xy: 528, 306 - size: 16, 16 - orig: 16, 16 + xy: 1527, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 rubble-1-1 rotate: false - xy: 584, 378 - size: 16, 16 - orig: 16, 16 + xy: 1461, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 rubble-2-0 rotate: false - xy: 548, 342 - size: 16, 16 - orig: 16, 16 + xy: 1395, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 rubble-2-1 rotate: false - xy: 566, 360 - size: 16, 16 - orig: 16, 16 + xy: 1593, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 rubble-3-0 rotate: false - xy: 882, 453 - size: 24, 24 - orig: 24, 24 + xy: 523, 1307 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 rubble-3-1 rotate: false - xy: 882, 453 - size: 24, 24 - orig: 24, 24 - offset: 0, 0 - index: -1 -shadow-1 - rotate: false - xy: 684, 375 - size: 10, 10 - orig: 10, 10 - offset: 0, 0 - index: -1 -shadow-2 - rotate: false - xy: 418, 316 - size: 18, 18 - orig: 18, 18 - offset: 0, 0 - index: -1 -shadow-3 - rotate: false - xy: 39, 71 - size: 26, 26 - orig: 26, 26 - offset: 0, 0 - index: -1 -shadow-4 - rotate: false - xy: 53, 204 - size: 34, 34 - orig: 34, 34 - offset: 0, 0 - index: -1 -shadow-5 - rotate: false - xy: 290, 469 - size: 42, 42 - orig: 42, 42 - offset: 0, 0 - index: -1 -shadow-6 - rotate: false - xy: 1, 188 - size: 50, 50 - orig: 50, 50 - offset: 0, 0 - index: -1 -shadow-corner - rotate: false - xy: 672, 363 - size: 10, 10 - orig: 10, 10 - offset: 0, 0 - index: -1 -shadow-round-1 - rotate: false - xy: 696, 387 - size: 10, 10 - orig: 10, 10 - offset: 0, 0 - index: -1 -shadow-round-2 - rotate: false - xy: 438, 390 - size: 18, 18 - orig: 18, 18 - offset: 0, 0 - index: -1 -shadow-round-3 - rotate: false - xy: 39, 43 - size: 26, 26 - orig: 26, 26 - offset: 0, 0 - index: -1 -shadow-round-4 - rotate: false - xy: 675, 477 - size: 34, 34 - orig: 34, 34 - offset: 0, 0 - index: -1 -shadow-rounded-2 - rotate: false - xy: 438, 370 - size: 18, 18 - orig: 18, 18 - offset: 0, 0 - index: -1 -shadow-shock-mine - rotate: false - xy: 537, 222 - size: 8, 8 - orig: 8, 8 + xy: 523, 1307 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 bridge-conduit-arrow rotate: false - xy: 114, 138 - size: 8, 8 - orig: 8, 8 + xy: 295, 781 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-arrow rotate: false - xy: 114, 138 - size: 8, 8 - orig: 8, 8 + xy: 295, 781 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-bridge rotate: false - xy: 104, 128 - size: 8, 8 - orig: 8, 8 + xy: 295, 747 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-end rotate: false - xy: 94, 118 - size: 8, 8 - orig: 8, 8 + xy: 329, 781 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 104, 108 - size: 8, 8 - orig: 8, 8 + xy: 329, 577 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-0 rotate: false - xy: 94, 98 - size: 8, 8 - orig: 8, 8 + xy: 295, 509 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-1 rotate: false - xy: 144, 138 - size: 8, 8 - orig: 8, 8 + xy: 329, 543 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-2 rotate: false - xy: 134, 128 - size: 8, 8 - orig: 8, 8 + xy: 295, 475 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-3 rotate: false - xy: 124, 118 - size: 8, 8 - orig: 8, 8 + xy: 329, 509 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-4 rotate: false - xy: 114, 108 - size: 8, 8 - orig: 8, 8 + xy: 295, 441 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-5 rotate: false - xy: 104, 98 - size: 8, 8 - orig: 8, 8 + xy: 329, 475 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-6 rotate: false - xy: 154, 138 - size: 8, 8 - orig: 8, 8 + xy: 295, 407 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-top-0 rotate: false - xy: 134, 118 - size: 8, 8 - orig: 8, 8 + xy: 295, 373 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-top-1 rotate: false - xy: 124, 108 - size: 8, 8 - orig: 8, 8 + xy: 329, 407 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-top-2 rotate: false - xy: 114, 98 - size: 8, 8 - orig: 8, 8 + xy: 295, 339 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-top-3 rotate: false - xy: 164, 138 - size: 8, 8 - orig: 8, 8 + xy: 329, 373 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-top-4 rotate: false - xy: 154, 128 - size: 8, 8 - orig: 8, 8 + xy: 295, 305 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-top-5 rotate: false - xy: 144, 118 - size: 8, 8 - orig: 8, 8 + xy: 329, 339 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conduit-top-6 rotate: false - xy: 134, 108 - size: 8, 8 - orig: 8, 8 + xy: 295, 271 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 liquid-router-bottom rotate: false - xy: 1014, 367 - size: 8, 8 - orig: 8, 8 + xy: 1257, 1243 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 liquid-router-liquid rotate: false - xy: 1014, 357 - size: 8, 8 - orig: 8, 8 + xy: 1223, 1209 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 liquid-router-top rotate: false - xy: 1014, 347 - size: 8, 8 - orig: 8, 8 + xy: 1291, 1243 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 liquid-tank-bottom rotate: false - xy: 726, 401 - size: 24, 24 - orig: 24, 24 + xy: 425, 1405 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 liquid-tank-liquid rotate: false - xy: 752, 411 - size: 24, 24 - orig: 24, 24 + xy: 523, 1503 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 liquid-tank-top rotate: false - xy: 778, 453 - size: 24, 24 - orig: 24, 24 + xy: 229, 1111 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 phase-conduit-arrow rotate: false - xy: 457, 240 - size: 8, 8 - orig: 8, 8 + xy: 1747, 1435 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-bridge rotate: false - xy: 447, 220 - size: 8, 8 - orig: 8, 8 + xy: 1781, 1469 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-end rotate: false - xy: 457, 230 - size: 8, 8 - orig: 8, 8 + xy: 1815, 1503 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-0 rotate: false - xy: 477, 242 - size: 8, 8 - orig: 8, 8 + xy: 1747, 1367 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-1 rotate: false - xy: 477, 232 - size: 8, 8 - orig: 8, 8 + xy: 1781, 1401 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-2 rotate: false - xy: 487, 242 - size: 8, 8 - orig: 8, 8 + xy: 1815, 1435 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-3 rotate: false - xy: 487, 232 - size: 8, 8 - orig: 8, 8 + xy: 1849, 1469 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-4 rotate: false - xy: 477, 222 - size: 8, 8 - orig: 8, 8 + xy: 1747, 1333 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-5 rotate: false - xy: 497, 242 - size: 8, 8 - orig: 8, 8 + xy: 1781, 1367 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-6 rotate: false - xy: 497, 232 - size: 8, 8 - orig: 8, 8 + xy: 1815, 1401 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 alpha-mech-pad rotate: false - xy: 796, 409 - size: 16, 16 - orig: 16, 16 + xy: 229, 775 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-alpha-mech-pad rotate: false - xy: 796, 409 - size: 16, 16 - orig: 16, 16 + xy: 229, 775 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 battery rotate: false - xy: 302, 312 - size: 8, 8 - orig: 8, 8 + xy: 929, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-battery rotate: false - xy: 302, 312 - size: 8, 8 - orig: 8, 8 + xy: 929, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 battery-large rotate: false - xy: 43, 162 - size: 24, 24 - orig: 24, 24 + xy: 131, 1512 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-battery-large rotate: false - xy: 43, 162 - size: 24, 24 - orig: 24, 24 + xy: 131, 1512 + size: 96, 96 + orig: 96, 96 + offset: 0, 0 + index: -1 +combustion-generator-top + rotate: false + xy: 295, 611 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 fusion-reactor rotate: false - xy: 92, 276 - size: 32, 32 - orig: 32, 32 + xy: 1, 1074 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 fusion-reactor-bottom rotate: false - xy: 126, 276 - size: 32, 32 - orig: 32, 32 + xy: 1, 944 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 fusion-reactor-light rotate: false - xy: 160, 276 - size: 32, 32 - orig: 32, 32 + xy: 1, 814 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 fusion-reactor-plasma-0 rotate: false - xy: 87, 242 - size: 32, 32 - orig: 32, 32 + xy: 1, 684 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 fusion-reactor-plasma-1 rotate: false - xy: 121, 242 - size: 32, 32 - orig: 32, 32 + xy: 1, 554 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 fusion-reactor-plasma-2 rotate: false - xy: 155, 242 - size: 32, 32 - orig: 32, 32 + xy: 1, 424 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 fusion-reactor-plasma-3 rotate: false - xy: 89, 208 - size: 32, 32 - orig: 32, 32 + xy: 1, 294 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 fusion-reactor-top rotate: false - xy: 123, 208 + xy: 1, 164 + size: 128, 128 + orig: 128, 128 + offset: 0, 0 + index: -1 +power-node + rotate: false + xy: 1815, 1469 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +power-node-large + rotate: false + xy: 1395, 1721 + size: 64, 64 + orig: 64, 64 + offset: 0, 0 + index: -1 +powerinfinite + rotate: false + xy: 1849, 1503 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +powervoid + rotate: false + xy: 1713, 1333 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rtg-generator-top rotate: false - xy: 517, 242 - size: 8, 8 - orig: 8, 8 + xy: 1815, 1333 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 thorium-reactor-center rotate: false - xy: 908, 453 - size: 24, 24 - orig: 24, 24 + xy: 621, 1405 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 thorium-reactor-lights rotate: false - xy: 908, 427 - size: 24, 24 - orig: 24, 24 + xy: 229, 915 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 turbine-generator-top rotate: false - xy: 554, 288 - size: 16, 16 - orig: 16, 16 + xy: 1725, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 alloy-smelter rotate: false - xy: 438, 332 - size: 16, 16 - orig: 16, 16 + xy: 1983, 1983 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-alloy-smelter rotate: false - xy: 438, 332 - size: 16, 16 - orig: 16, 16 + xy: 1983, 1983 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 alloy-smelter-top rotate: false - xy: 778, 409 - size: 16, 16 - orig: 16, 16 + xy: 1983, 1917 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 arc-smelter rotate: false - xy: 814, 409 - size: 16, 16 - orig: 16, 16 + xy: 621, 1218 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-arc-smelter rotate: false - xy: 814, 409 - size: 16, 16 - orig: 16, 16 + xy: 621, 1218 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 arc-smelter-top rotate: false - xy: 832, 409 - size: 16, 16 - orig: 16, 16 + xy: 229, 709 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 silicon-smelter-top rotate: false - xy: 832, 409 - size: 16, 16 - orig: 16, 16 + xy: 229, 709 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 biomattercompressor rotate: false - xy: 850, 409 - size: 16, 16 - orig: 16, 16 + xy: 229, 643 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 biomattercompressor-frame0 rotate: false - xy: 438, 314 - size: 16, 16 - orig: 16, 16 + xy: 229, 577 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 biomattercompressor-frame1 rotate: false - xy: 908, 409 - size: 16, 16 - orig: 16, 16 + xy: 229, 511 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 biomattercompressor-frame2 rotate: false - xy: 926, 409 - size: 16, 16 - orig: 16, 16 + xy: 229, 445 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 biomattercompressor-liquid rotate: false - xy: 944, 409 - size: 16, 16 - orig: 16, 16 + xy: 229, 379 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 biomattercompressor-top rotate: false - xy: 962, 415 - size: 16, 16 - orig: 16, 16 + xy: 229, 313 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 blast-mixer rotate: false - xy: 1006, 461 - size: 16, 16 - orig: 16, 16 + xy: 229, 247 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-blast-mixer rotate: false - xy: 1006, 461 - size: 16, 16 - orig: 16, 16 + xy: 229, 247 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 centrifuge-liquid rotate: false - xy: 968, 379 - size: 16, 16 - orig: 16, 16 + xy: 597, 1077 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-bottom rotate: false - xy: 968, 361 - size: 16, 16 - orig: 16, 16 + xy: 729, 1073 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-liquid rotate: false - xy: 986, 363 - size: 16, 16 - orig: 16, 16 + xy: 795, 1073 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 cryofluidmixer-top rotate: false - xy: 189, 258 - size: 16, 16 - orig: 16, 16 + xy: 861, 1073 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 cultivator rotate: false - xy: 207, 260 - size: 16, 16 - orig: 16, 16 + xy: 927, 1073 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 cultivator-middle rotate: false - xy: 225, 260 - size: 16, 16 - orig: 16, 16 + xy: 801, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 cultivator-top rotate: false - xy: 243, 260 - size: 16, 16 - orig: 16, 16 + xy: 801, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 lavasmelter rotate: false - xy: 173, 48 - size: 8, 8 - orig: 8, 8 + xy: 1053, 1209 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 oilrefinery rotate: false - xy: 682, 293 - size: 8, 8 - orig: 8, 8 + xy: 1027, 1107 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 phase-weaver rotate: false - xy: 530, 360 - size: 16, 16 - orig: 16, 16 + xy: 1329, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 phase-weaver-bottom rotate: false - xy: 548, 378 - size: 16, 16 - orig: 16, 16 + xy: 1263, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 phase-weaver-weave rotate: false - xy: 584, 396 - size: 16, 16 - orig: 16, 16 + xy: 1197, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 plastanium-compressor-top rotate: false - xy: 530, 342 - size: 16, 16 - orig: 16, 16 + xy: 1395, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 pulverizer rotate: false - xy: 487, 222 - size: 8, 8 - orig: 8, 8 + xy: 1849, 1435 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 507, 242 - size: 8, 8 - orig: 8, 8 + xy: 1781, 1333 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 547, 232 - size: 8, 8 - orig: 8, 8 + xy: 1917, 1399 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 core-open rotate: false - xy: 392, 338 - size: 24, 24 - orig: 24, 24 + xy: 637, 1699 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 core-top rotate: false - xy: 314, 323 - size: 24, 24 - orig: 24, 24 + xy: 637, 1601 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 sortedunloader rotate: false - xy: 194, 132 - size: 8, 8 - orig: 8, 8 + xy: 1951, 1331 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-1 rotate: false - xy: 752, 383 - size: 8, 8 - orig: 8, 8 + xy: 1269, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-1-top rotate: false - xy: 662, 327 - size: 8, 8 - orig: 8, 8 + xy: 1591, 1567 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-2 rotate: false - xy: 458, 392 - size: 16, 16 - orig: 16, 16 + xy: 229, 181 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-2-top rotate: false - xy: 458, 374 - size: 16, 16 - orig: 16, 16 + xy: 229, 115 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-3 rotate: false - xy: 314, 375 - size: 24, 24 - orig: 24, 24 + xy: 131, 1022 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-3-top rotate: false - xy: 674, 451 - size: 24, 24 - orig: 24, 24 + xy: 131, 924 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-4 rotate: false - xy: 711, 479 - size: 32, 32 - orig: 32, 32 + xy: 1, 1594 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 block-4-top rotate: false - xy: 745, 479 - size: 32, 32 - orig: 32, 32 + xy: 204, 1797 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 arc rotate: false - xy: 194, 300 - size: 8, 8 - orig: 8, 8 + xy: 861, 1406 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 arc-heat rotate: false - xy: 256, 312 - size: 8, 8 - orig: 8, 8 + xy: 895, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 cyclone rotate: false - xy: 366, 312 - size: 24, 24 - orig: 24, 24 + xy: 229, 1405 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 duo rotate: false - xy: 83, 58 - size: 8, 8 - orig: 8, 8 + xy: 363, 645 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 fuse rotate: false - xy: 726, 453 - size: 24, 24 - orig: 24, 24 + xy: 229, 1209 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 hail rotate: false - xy: 123, 68 - size: 8, 8 - orig: 8, 8 + xy: 1097, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 hail-heat rotate: false - xy: 242, 339 - size: 10, 10 - orig: 10, 10 + xy: 1435, 1555 + size: 40, 40 + orig: 40, 40 offset: 0, 0 index: -1 lancer rotate: false - xy: 495, 252 - size: 16, 16 - orig: 16, 16 + xy: 1065, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 lancer-heat rotate: false - xy: 513, 252 - size: 16, 16 - orig: 16, 16 + xy: 999, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 meltdown rotate: false - xy: 157, 208 - size: 32, 32 - orig: 32, 32 + xy: 1, 34 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 meltdown-heat rotate: false - xy: 269, 432 - size: 32, 32 - orig: 32, 32 + xy: 813, 1919 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 ripple rotate: false - xy: 856, 453 - size: 24, 24 - orig: 24, 24 + xy: 327, 1111 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 ripple-heat rotate: false - xy: 856, 427 - size: 24, 24 - orig: 24, 24 + xy: 425, 1209 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 salvo rotate: false - xy: 602, 378 - size: 16, 16 - orig: 16, 16 + xy: 1527, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 salvo-heat rotate: false - xy: 548, 324 - size: 16, 16 - orig: 16, 16 + xy: 1461, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 salvo-panel-left rotate: false - xy: 546, 306 - size: 16, 16 - orig: 16, 16 + xy: 1659, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 salvo-panel-right rotate: false - xy: 536, 288 - size: 16, 16 - orig: 16, 16 + xy: 1593, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 scatter rotate: false - xy: 537, 232 - size: 8, 8 - orig: 8, 8 + xy: 1883, 1365 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 scorch rotate: false - xy: 527, 222 - size: 8, 8 - orig: 8, 8 + xy: 1883, 1331 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 scorch-shoot rotate: false - xy: 547, 242 - size: 8, 8 - orig: 8, 8 + xy: 1917, 1501 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 spectre rotate: false - xy: 405, 416 - size: 32, 32 - orig: 32, 32 + xy: 1853, 1919 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 swarmer rotate: false - xy: 584, 360 - size: 16, 16 - orig: 16, 16 + xy: 1659, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 wave rotate: false - xy: 572, 288 - size: 16, 16 - orig: 16, 16 + xy: 1857, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 wave-liquid rotate: false - xy: 602, 342 - size: 16, 16 - orig: 16, 16 + xy: 1923, 1785 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 dagger-factory-top rotate: false - xy: 494, 396 - size: 16, 16 - orig: 16, 16 + xy: 867, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 dagger-factory-top-open rotate: false - xy: 494, 378 - size: 16, 16 - orig: 16, 16 + xy: 801, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 fortress-factory rotate: false - xy: 700, 451 - size: 24, 24 - orig: 24, 24 + xy: 229, 1307 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 fortress-factory-top rotate: false - xy: 700, 425 - size: 24, 24 - orig: 24, 24 + xy: 327, 1405 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 ghoul-factory-top rotate: false - xy: 700, 425 - size: 24, 24 - orig: 24, 24 + xy: 327, 1405 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 titan-factory-top rotate: false - xy: 700, 425 - size: 24, 24 - orig: 24, 24 + xy: 327, 1405 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 fortress-factory-top-open rotate: false - xy: 700, 399 - size: 24, 24 - orig: 24, 24 + xy: 425, 1503 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 ghoul-factory-top-open rotate: false - xy: 700, 399 - size: 24, 24 - orig: 24, 24 + xy: 425, 1503 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 titan-factory-top-open rotate: false - xy: 700, 399 - size: 24, 24 - orig: 24, 24 + xy: 425, 1503 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 ghoul-factory rotate: false - xy: 726, 427 - size: 24, 24 - orig: 24, 24 + xy: 327, 1307 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 phantom-factory-top rotate: false - xy: 512, 324 - size: 16, 16 - orig: 16, 16 + xy: 1197, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 phantom-factory-top-open rotate: false - xy: 566, 396 - size: 16, 16 - orig: 16, 16 + xy: 1131, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 reconstructor-open rotate: false - xy: 530, 324 - size: 16, 16 - orig: 16, 16 + xy: 1329, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 repair-point-turret rotate: false - xy: 507, 232 - size: 8, 8 - orig: 8, 8 + xy: 1815, 1367 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 revenant-factory rotate: false - xy: 337, 450 - size: 32, 32 - orig: 32, 32 + xy: 1463, 1919 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 revenant-factory-top rotate: false - xy: 337, 416 - size: 32, 32 - orig: 32, 32 + xy: 1593, 1919 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 revenant-factory-top-open rotate: false - xy: 371, 450 - size: 32, 32 - orig: 32, 32 + xy: 1723, 1919 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 spirit-factory-top rotate: false - xy: 536, 270 - size: 16, 16 - orig: 16, 16 + xy: 1527, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 spirit-factory-top-open rotate: false - xy: 566, 342 - size: 16, 16 - orig: 16, 16 + xy: 1725, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 titan-factory rotate: false - xy: 934, 453 - size: 24, 24 - orig: 24, 24 + xy: 327, 1013 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 wraith-factory-top rotate: false - xy: 572, 270 - size: 16, 16 - orig: 16, 16 + xy: 1923, 1719 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 wraith-factory-top-open rotate: false - xy: 567, 252 - size: 16, 16 - orig: 16, 16 + xy: 1923, 1653 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 deflector-wall rotate: false - xy: 144, 88 - size: 8, 8 - orig: 8, 8 + xy: 1475, 1487 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 deflector-wall-large rotate: false - xy: 494, 360 - size: 16, 16 - orig: 16, 16 + xy: 933, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 door-large-open rotate: false - xy: 494, 342 - size: 16, 16 - orig: 16, 16 + xy: 867, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 door-open rotate: false - xy: 93, 78 - size: 8, 8 - orig: 8, 8 + xy: 363, 679 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 beam rotate: false - xy: 334, 470 - size: 1, 12 - orig: 1, 12 + xy: 2027, 1788 + size: 4, 48 + orig: 4, 48 offset: 0, 0 index: -1 beam-end rotate: false - xy: 418, 396 - size: 18, 18 - orig: 18, 18 - offset: 0, 0 - index: -1 -blank - rotate: false - xy: 290, 466 - size: 1, 1 - orig: 1, 1 + xy: 229, 841 + size: 72, 72 + orig: 72, 72 offset: 0, 0 index: -1 bullet rotate: false - xy: 197, 195 - size: 13, 13 - orig: 13, 13 + xy: 1504, 1601 + size: 52, 52 + orig: 52, 52 offset: 0, 0 index: -1 bullet-back rotate: false - xy: 197, 180 - size: 13, 13 - orig: 13, 13 + xy: 1558, 1601 + size: 52, 52 + orig: 52, 52 offset: 0, 0 index: -1 casing rotate: false - xy: 85, 198 - size: 2, 4 - orig: 2, 4 - offset: 0, 0 - index: -1 -clear - rotate: false - xy: 254, 398 - size: 1, 1 - orig: 1, 1 + xy: 427, 249 + size: 8, 16 + orig: 8, 16 offset: 0, 0 index: -1 command-attack rotate: false - xy: 84, 98 - size: 8, 8 - orig: 8, 8 + xy: 329, 645 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 command-idle rotate: false - xy: 134, 138 - size: 8, 8 - orig: 8, 8 + xy: 295, 577 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 command-patrol rotate: false - xy: 124, 128 - size: 8, 8 - orig: 8, 8 + xy: 329, 611 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 command-retreat rotate: false - xy: 114, 118 - size: 8, 8 - orig: 8, 8 + xy: 295, 543 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 enemyarrow rotate: false - xy: 93, 69 - size: 8, 7 - orig: 8, 7 + xy: 893, 1274 + size: 32, 28 + orig: 32, 28 offset: 0, 0 index: -1 error rotate: false - xy: 642, 306 - size: 12, 12 - orig: 12, 12 + xy: 985, 1547 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 laser rotate: false - xy: 337, 402 - size: 1, 12 - orig: 1, 12 + xy: 483, 611 + size: 4, 48 + orig: 4, 48 offset: 0, 0 index: -1 laser-end rotate: false - xy: 418, 376 - size: 18, 18 - orig: 18, 18 + xy: 425, 1037 + size: 72, 72 + orig: 72, 72 offset: 0, 0 index: -1 laserfull rotate: false - xy: 418, 356 - size: 18, 18 - orig: 18, 18 + xy: 523, 1135 + size: 72, 72 + orig: 72, 72 offset: 0, 0 index: -1 minelaser rotate: false - xy: 414, 298 - size: 1, 12 - orig: 1, 12 + xy: 427, 199 + size: 4, 48 + orig: 4, 48 offset: 0, 0 index: -1 minelaser-end rotate: false - xy: 418, 336 - size: 18, 18 - orig: 18, 18 + xy: 724, 1806 + size: 72, 72 + orig: 72, 72 offset: 0, 0 index: -1 missile rotate: false - xy: 868, 416 - size: 9, 9 - orig: 9, 9 + xy: 1477, 1559 + size: 36, 36 + orig: 36, 36 offset: 0, 0 index: -1 missile-back rotate: false - xy: 314, 312 - size: 9, 9 - orig: 9, 9 + xy: 1515, 1563 + size: 36, 36 + orig: 36, 36 + offset: 0, 0 + index: -1 +scale_marker + rotate: false + xy: 327, 915 + size: 4, 4 + orig: 4, 4 offset: 0, 0 index: -1 scorch1 rotate: false - xy: 702, 338 - size: 7, 25 - orig: 7, 25 + xy: 2019, 1357 + size: 28, 100 + orig: 28, 100 offset: 0, 0 index: -1 scorch2 rotate: false - xy: 702, 311 - size: 7, 25 - orig: 7, 25 + xy: 2019, 1255 + size: 28, 100 + orig: 28, 100 offset: 0, 0 index: -1 scorch3 rotate: false - xy: 702, 284 - size: 7, 25 - orig: 7, 25 + xy: 397, 283 + size: 28, 100 + orig: 28, 100 offset: 0, 0 index: -1 scorch4 rotate: false - xy: 699, 238 - size: 7, 25 - orig: 7, 25 + xy: 397, 181 + size: 28, 100 + orig: 28, 100 offset: 0, 0 index: -1 scorch5 rotate: false - xy: 211, 153 - size: 7, 25 - orig: 7, 25 + xy: 397, 79 + size: 28, 100 + orig: 28, 100 offset: 0, 0 index: -1 shell rotate: false - xy: 325, 312 - size: 9, 9 - orig: 9, 9 + xy: 1989, 1800 + size: 36, 36 + orig: 36, 36 offset: 0, 0 index: -1 shell-back rotate: false - xy: 696, 376 - size: 9, 9 - orig: 9, 9 + xy: 1989, 1762 + size: 36, 36 + orig: 36, 36 offset: 0, 0 index: -1 shot rotate: false - xy: 557, 242 - size: 8, 8 - orig: 8, 8 + xy: 1917, 1365 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 transfer rotate: false - xy: 1020, 447 - size: 1, 12 - orig: 1, 12 + xy: 2027, 1738 + size: 4, 48 + orig: 4, 48 offset: 0, 0 index: -1 transfer-arrow rotate: false - xy: 131, 28 - size: 8, 8 - orig: 8, 8 + xy: 431, 607 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 transfer-end rotate: false - xy: 438, 350 - size: 18, 18 - orig: 18, 18 + xy: 621, 1284 + size: 72, 72 + orig: 72, 72 offset: 0, 0 index: -1 blackstone-cliff-edge rotate: false - xy: 1012, 427 - size: 8, 8 - orig: 8, 8 + xy: 1133, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 blackstone-cliff-edge-1 rotate: false - xy: 1012, 417 - size: 8, 8 - orig: 8, 8 + xy: 1167, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 blackstone-cliff-edge-2 rotate: false - xy: 1012, 407 - size: 8, 8 - orig: 8, 8 + xy: 1201, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 blackstone-cliff-side rotate: false - xy: 672, 333 - size: 8, 8 - orig: 8, 8 + xy: 1235, 1413 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-arc rotate: false - xy: 672, 313 - size: 8, 8 - orig: 8, 8 + xy: 1693, 1571 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-biomattercompressor rotate: false - xy: 458, 356 - size: 16, 16 - orig: 16, 16 + xy: 229, 49 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-blast-drill rotate: false - xy: 254, 338 - size: 24, 24 - orig: 24, 24 + xy: 131, 826 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-bridge-conduit rotate: false - xy: 656, 307 - size: 8, 8 - orig: 8, 8 + xy: 1727, 1571 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit rotate: false - xy: 656, 307 - size: 8, 8 - orig: 8, 8 + xy: 1727, 1571 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-bridge-conveyor rotate: false - xy: 662, 297 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -bridge-conveyor - rotate: false - xy: 662, 297 - size: 8, 8 - orig: 8, 8 + xy: 1761, 1571 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-centrifuge rotate: false - xy: 476, 396 - size: 16, 16 - orig: 16, 16 + xy: 735, 1740 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 centrifuge rotate: false - xy: 476, 396 - size: 16, 16 - orig: 16, 16 + xy: 735, 1740 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-combustion-generator rotate: false - xy: 662, 287 - size: 8, 8 - orig: 8, 8 + xy: 1795, 1571 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 combustion-generator rotate: false - xy: 662, 287 - size: 8, 8 - orig: 8, 8 + xy: 1795, 1571 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-command-center rotate: false - xy: 476, 378 - size: 16, 16 - orig: 16, 16 + xy: 735, 1674 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 command-center rotate: false - xy: 476, 378 - size: 16, 16 - orig: 16, 16 + xy: 735, 1674 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-conduit rotate: false - xy: 662, 277 - size: 8, 8 - orig: 8, 8 + xy: 1829, 1571 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-container rotate: false - xy: 476, 360 - size: 16, 16 - orig: 16, 16 + xy: 735, 1608 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 container rotate: false - xy: 476, 360 - size: 16, 16 - orig: 16, 16 + xy: 735, 1608 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-conveyor rotate: false - xy: 662, 267 - size: 8, 8 - orig: 8, 8 + xy: 1863, 1571 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-0 rotate: false - xy: 662, 267 - size: 8, 8 - orig: 8, 8 + xy: 1863, 1571 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-copper-wall rotate: false - xy: 672, 303 - size: 8, 8 - orig: 8, 8 + xy: 1897, 1569 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 copper-wall rotate: false - xy: 672, 303 - size: 8, 8 - orig: 8, 8 + xy: 1897, 1569 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-copper-wall-large rotate: false - xy: 752, 393 - size: 16, 16 - orig: 16, 16 + xy: 810, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 copper-wall-large rotate: false - xy: 752, 393 - size: 16, 16 - orig: 16, 16 + xy: 810, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-core rotate: false - xy: 648, 435 - size: 24, 24 - orig: 24, 24 + xy: 131, 728 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 core rotate: false - xy: 648, 435 - size: 24, 24 - orig: 24, 24 + xy: 131, 728 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-cryofluidmixer rotate: false - xy: 194, 278 - size: 16, 16 - orig: 16, 16 + xy: 876, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-cultivator rotate: false - xy: 212, 278 - size: 16, 16 - orig: 16, 16 + xy: 942, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-cyclone rotate: false - xy: 622, 432 - size: 24, 24 - orig: 24, 24 + xy: 131, 630 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-dagger-factory rotate: false - xy: 230, 278 - size: 16, 16 - orig: 16, 16 + xy: 1008, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-dart-ship-pad rotate: false - xy: 770, 391 - size: 16, 16 - orig: 16, 16 + xy: 1074, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 dart-ship-pad rotate: false - xy: 770, 391 - size: 16, 16 - orig: 16, 16 + xy: 1074, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-deepwater rotate: false - xy: 672, 293 - size: 8, 8 - orig: 8, 8 + xy: 1373, 1463 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 deepwater rotate: false - xy: 672, 293 - size: 8, 8 - orig: 8, 8 + xy: 1373, 1463 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-delta-mech-pad rotate: false - xy: 788, 391 - size: 16, 16 - orig: 16, 16 + xy: 1140, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 delta-mech-pad rotate: false - xy: 788, 391 - size: 16, 16 - orig: 16, 16 + xy: 1140, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-dense-alloy-wall rotate: false - xy: 672, 283 - size: 8, 8 - orig: 8, 8 + xy: 1373, 1429 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 dense-alloy-wall rotate: false - xy: 672, 283 - size: 8, 8 - orig: 8, 8 + xy: 1373, 1429 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-dense-alloy-wall-large rotate: false - xy: 806, 391 - size: 16, 16 - orig: 16, 16 + xy: 1206, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 dense-alloy-wall-large rotate: false - xy: 806, 391 - size: 16, 16 - orig: 16, 16 + xy: 1206, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-dirt rotate: false - xy: 672, 273 - size: 8, 8 - orig: 8, 8 + xy: 1407, 1471 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 dirt1 rotate: false - xy: 672, 273 - size: 8, 8 - orig: 8, 8 + xy: 1407, 1471 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-distributor rotate: false - xy: 824, 391 - size: 16, 16 - orig: 16, 16 + xy: 1272, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 distributor rotate: false - xy: 824, 391 - size: 16, 16 - orig: 16, 16 + xy: 1272, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-door rotate: false - xy: 672, 263 - size: 8, 8 - orig: 8, 8 + xy: 1407, 1437 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 door rotate: false - xy: 672, 263 - size: 8, 8 - orig: 8, 8 + xy: 1407, 1437 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-door-large rotate: false - xy: 842, 391 - size: 16, 16 - orig: 16, 16 + xy: 1338, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 door-large rotate: false - xy: 842, 391 - size: 16, 16 - orig: 16, 16 + xy: 1338, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-duo rotate: false - xy: 669, 253 - size: 8, 8 - orig: 8, 8 + xy: 839, 1372 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-force-projector rotate: false - xy: 674, 425 - size: 24, 24 - orig: 24, 24 + xy: 131, 532 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 force-projector rotate: false - xy: 674, 425 - size: 24, 24 - orig: 24, 24 + xy: 131, 532 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-fortress-factory rotate: false - xy: 648, 409 - size: 24, 24 - orig: 24, 24 + xy: 131, 434 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-fuse rotate: false - xy: 674, 399 - size: 24, 24 - orig: 24, 24 + xy: 131, 336 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-fusion-reactor rotate: false - xy: 779, 479 - size: 32, 32 - orig: 32, 32 + xy: 1, 1464 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 block-icon-ghoul-factory rotate: false - xy: 204, 296 - size: 24, 24 - orig: 24, 24 + xy: 131, 238 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-glaive-ship-pad rotate: false - xy: 230, 296 - size: 24, 24 - orig: 24, 24 + xy: 131, 140 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 glaive-ship-pad rotate: false - xy: 230, 296 - size: 24, 24 - orig: 24, 24 + xy: 131, 140 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-grass rotate: false - xy: 669, 243 - size: 8, 8 - orig: 8, 8 + xy: 839, 1338 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 grass1 rotate: false - xy: 669, 243 - size: 8, 8 - orig: 8, 8 + xy: 839, 1338 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-hail rotate: false - xy: 669, 233 - size: 8, 8 - orig: 8, 8 + xy: 873, 1372 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-ice rotate: false - xy: 679, 253 - size: 8, 8 - orig: 8, 8 + xy: 873, 1338 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ice1 rotate: false - xy: 679, 253 - size: 8, 8 - orig: 8, 8 + xy: 873, 1338 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-icerock rotate: false - xy: 679, 243 - size: 8, 8 - orig: 8, 8 + xy: 907, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 icerock1 rotate: false - xy: 679, 243 - size: 8, 8 - orig: 8, 8 + xy: 907, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-incinerator rotate: false - xy: 679, 233 - size: 8, 8 - orig: 8, 8 + xy: 907, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 incinerator rotate: false - xy: 679, 233 - size: 8, 8 - orig: 8, 8 + xy: 907, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-itemsource rotate: false - xy: 205, 248 - size: 8, 8 - orig: 8, 8 + xy: 941, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 itemsource rotate: false - xy: 205, 248 - size: 8, 8 - orig: 8, 8 + xy: 941, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-itemvoid rotate: false - xy: 215, 250 - size: 8, 8 - orig: 8, 8 + xy: 975, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 itemvoid rotate: false - xy: 215, 250 - size: 8, 8 - orig: 8, 8 + xy: 975, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-javelin-ship-pad rotate: false - xy: 248, 278 - size: 16, 16 - orig: 16, 16 + xy: 1404, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 javelin-ship-pad rotate: false - xy: 248, 278 - size: 16, 16 - orig: 16, 16 + xy: 1404, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-junction rotate: false - xy: 225, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -junction - rotate: false - xy: 225, 250 - size: 8, 8 - orig: 8, 8 + xy: 941, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-lancer rotate: false - xy: 860, 391 - size: 16, 16 - orig: 16, 16 + xy: 1470, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-laser-drill rotate: false - xy: 878, 398 - size: 16, 16 - orig: 16, 16 + xy: 1536, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-lava rotate: false - xy: 235, 250 - size: 8, 8 - orig: 8, 8 + xy: 1009, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 lava rotate: false - xy: 235, 250 - size: 8, 8 - orig: 8, 8 + xy: 1009, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-liquid-junction rotate: false - xy: 245, 250 - size: 8, 8 - orig: 8, 8 + xy: 975, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 liquid-junction rotate: false - xy: 245, 250 - size: 8, 8 - orig: 8, 8 + xy: 975, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-liquid-router rotate: false - xy: 255, 250 - size: 8, 8 - orig: 8, 8 + xy: 1043, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-liquid-tank rotate: false - xy: 340, 390 - size: 24, 24 - orig: 24, 24 + xy: 131, 42 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-liquidsource rotate: false - xy: 265, 250 - size: 8, 8 - orig: 8, 8 + xy: 1009, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 liquidsource rotate: false - xy: 265, 250 - size: 8, 8 - orig: 8, 8 + xy: 1009, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-mass-driver rotate: false - xy: 366, 390 - size: 24, 24 - orig: 24, 24 + xy: 245, 1699 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 mass-driver rotate: false - xy: 366, 390 - size: 24, 24 - orig: 24, 24 + xy: 245, 1699 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-mechanical-drill rotate: false - xy: 878, 380 - size: 16, 16 - orig: 16, 16 + xy: 1602, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-mechanical-pump rotate: false - xy: 275, 250 - size: 8, 8 - orig: 8, 8 + xy: 1077, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 mechanical-pump rotate: false - xy: 275, 250 - size: 8, 8 - orig: 8, 8 + xy: 1077, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-meltdown rotate: false - xy: 813, 479 - size: 32, 32 - orig: 32, 32 + xy: 334, 1797 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 block-icon-melter rotate: false - xy: 285, 250 - size: 8, 8 - orig: 8, 8 + xy: 1043, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 melter rotate: false - xy: 285, 250 - size: 8, 8 - orig: 8, 8 + xy: 1043, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-mend-projector rotate: false - xy: 532, 432 - size: 16, 16 - orig: 16, 16 + xy: 1668, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 mend-projector rotate: false - xy: 532, 432 - size: 16, 16 - orig: 16, 16 + xy: 1668, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-metalfloor rotate: false - xy: 295, 250 - size: 8, 8 - orig: 8, 8 + xy: 1111, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 metalfloor1 rotate: false - xy: 295, 250 - size: 8, 8 - orig: 8, 8 + xy: 1111, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-oil-extractor rotate: false - xy: 392, 390 - size: 24, 24 - orig: 24, 24 + xy: 343, 1699 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-omega-mech-pad rotate: false - xy: 340, 364 - size: 24, 24 - orig: 24, 24 + xy: 441, 1699 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 omega-mech-pad rotate: false - xy: 340, 364 - size: 24, 24 - orig: 24, 24 + xy: 441, 1699 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-overdrive-projector rotate: false - xy: 550, 432 - size: 16, 16 - orig: 16, 16 + xy: 1734, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 overdrive-projector rotate: false - xy: 550, 432 - size: 16, 16 - orig: 16, 16 + xy: 1734, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-overflow-gate rotate: false - xy: 305, 250 - size: 8, 8 - orig: 8, 8 + xy: 1077, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 overflow-gate rotate: false - xy: 305, 250 - size: 8, 8 - orig: 8, 8 + xy: 1077, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-phantom-factory rotate: false - xy: 568, 432 - size: 16, 16 - orig: 16, 16 + xy: 1800, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-phase-conduit rotate: false - xy: 315, 250 - size: 8, 8 - orig: 8, 8 + xy: 1145, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 phase-conduit rotate: false - xy: 315, 250 - size: 8, 8 - orig: 8, 8 + xy: 1145, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-phase-conveyor rotate: false - xy: 325, 250 - size: 8, 8 - orig: 8, 8 + xy: 1111, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor rotate: false - xy: 325, 250 - size: 8, 8 - orig: 8, 8 + xy: 1111, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-phase-wall rotate: false - xy: 335, 250 - size: 8, 8 - orig: 8, 8 + xy: 1179, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 phase-wall rotate: false - xy: 335, 250 - size: 8, 8 - orig: 8, 8 + xy: 1179, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-phase-wall-large rotate: false - xy: 586, 432 - size: 16, 16 - orig: 16, 16 + xy: 1866, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 phase-wall-large rotate: false - xy: 586, 432 - size: 16, 16 - orig: 16, 16 + xy: 1866, 1853 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-phase-weaver rotate: false - xy: 604, 432 - size: 16, 16 - orig: 16, 16 + xy: 303, 849 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-plasma-drill rotate: false - xy: 847, 479 - size: 32, 32 - orig: 32, 32 + xy: 1, 1334 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 block-icon-plastanium-compressor rotate: false - xy: 527, 414 - size: 16, 16 - orig: 16, 16 + xy: 401, 947 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 plastanium-compressor rotate: false - xy: 527, 414 - size: 16, 16 - orig: 16, 16 + xy: 401, 947 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-pneumatic-drill rotate: false - xy: 545, 414 - size: 16, 16 - orig: 16, 16 + xy: 499, 1045 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-power-node rotate: false - xy: 345, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -power-node - rotate: false - xy: 345, 250 - size: 8, 8 - orig: 8, 8 + xy: 1145, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-power-node-large rotate: false - xy: 563, 414 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -power-node-large - rotate: false - xy: 563, 414 - size: 16, 16 - orig: 16, 16 + xy: 597, 1143 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-powerinfinite rotate: false - xy: 355, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -powerinfinite - rotate: false - xy: 355, 250 - size: 8, 8 - orig: 8, 8 + xy: 1213, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-powervoid rotate: false - xy: 365, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -powervoid - rotate: false - xy: 365, 250 - size: 8, 8 - orig: 8, 8 + xy: 1179, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-pulse-conduit rotate: false - xy: 375, 250 - size: 8, 8 - orig: 8, 8 + xy: 1247, 1379 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-pulverizer rotate: false - xy: 385, 250 - size: 8, 8 - orig: 8, 8 + xy: 1213, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-pyratite-mixer rotate: false - xy: 581, 414 - size: 16, 16 - orig: 16, 16 + xy: 719, 1535 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 pyratite-mixer rotate: false - xy: 581, 414 - size: 16, 16 - orig: 16, 16 + xy: 719, 1535 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-reconstructor rotate: false - xy: 599, 414 - size: 16, 16 - orig: 16, 16 + xy: 719, 1469 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 dagger-factory rotate: false - xy: 599, 414 - size: 16, 16 - orig: 16, 16 + xy: 719, 1469 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 phantom-factory rotate: false - xy: 599, 414 - size: 16, 16 - orig: 16, 16 + xy: 719, 1469 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 reconstructor rotate: false - xy: 599, 414 - size: 16, 16 - orig: 16, 16 + xy: 719, 1469 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 spirit-factory rotate: false - xy: 599, 414 - size: 16, 16 - orig: 16, 16 + xy: 719, 1469 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 wraith-factory rotate: false - xy: 599, 414 - size: 16, 16 - orig: 16, 16 + xy: 719, 1469 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-repair-point rotate: false - xy: 395, 250 - size: 8, 8 - orig: 8, 8 + xy: 1247, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 repair-point rotate: false - xy: 395, 250 - size: 8, 8 - orig: 8, 8 + xy: 1247, 1345 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-revenant-factory rotate: false - xy: 881, 479 - size: 32, 32 - orig: 32, 32 + xy: 464, 1797 + size: 128, 128 + orig: 128, 128 offset: 0, 0 index: -1 block-icon-ripple rotate: false - xy: 366, 364 - size: 24, 24 - orig: 24, 24 + xy: 539, 1699 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-rock rotate: false - xy: 405, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -rock1 - rotate: false - xy: 405, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-rotary-pump - rotate: false - xy: 617, 414 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -rotary-pump - rotate: false - xy: 617, 414 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -block-icon-router - rotate: false - xy: 415, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -router - rotate: false - xy: 415, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-rtg-generator - rotate: false - xy: 980, 435 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -rtg-generator - rotate: false - xy: 980, 435 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -block-icon-salvo - rotate: false - xy: 980, 417 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -block-icon-sand - rotate: false - xy: 425, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -sand1 - rotate: false - xy: 425, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-scorch - rotate: false - xy: 435, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-separator - rotate: false - xy: 445, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -separator - rotate: false - xy: 445, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-shock-mine - rotate: false - xy: 455, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -shock-mine - rotate: false - xy: 455, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-shrub - rotate: false - xy: 465, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -shrub - rotate: false - xy: 465, 250 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-silicon-smelter - rotate: false - xy: 962, 397 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -silicon-smelter - rotate: false - xy: 962, 397 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -block-icon-smelter - rotate: false - xy: 85, 148 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -smelter - rotate: false - xy: 85, 148 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-snow - rotate: false - xy: 95, 148 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -snow1 - rotate: false - xy: 95, 148 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-solar-panel - rotate: false - xy: 105, 148 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -solar-panel - rotate: false - xy: 105, 148 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-solar-panel-large - rotate: false - xy: 392, 364 - size: 24, 24 - orig: 24, 24 - offset: 0, 0 - index: -1 -solar-panel-large - rotate: false - xy: 392, 364 - size: 24, 24 - orig: 24, 24 - offset: 0, 0 - index: -1 -block-icon-solidifer - rotate: false - xy: 115, 148 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -solidifer - rotate: false - xy: 115, 148 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-sorter - rotate: false - xy: 125, 148 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -sorter - rotate: false - xy: 125, 148 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-space - rotate: false - xy: 135, 148 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -space - rotate: false - xy: 135, 148 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-spawn - rotate: false - xy: 145, 148 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -spawn - rotate: false - xy: 145, 148 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-spectre - rotate: false - xy: 915, 479 + xy: 1281, 1379 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 +rock1 + rotate: false + xy: 1281, 1379 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-icon-rotary-pump + rotate: false + xy: 719, 1403 + size: 64, 64 + orig: 64, 64 + offset: 0, 0 + index: -1 +rotary-pump + rotate: false + xy: 719, 1403 + size: 64, 64 + orig: 64, 64 + offset: 0, 0 + index: -1 +block-icon-router + rotate: false + xy: 1281, 1345 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +router + rotate: false + xy: 1281, 1345 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-icon-rtg-generator + rotate: false + xy: 707, 1337 + size: 64, 64 + orig: 64, 64 + offset: 0, 0 + index: -1 +rtg-generator + rotate: false + xy: 707, 1337 + size: 64, 64 + orig: 64, 64 + offset: 0, 0 + index: -1 +block-icon-salvo + rotate: false + xy: 695, 1271 + size: 64, 64 + orig: 64, 64 + offset: 0, 0 + index: -1 +block-icon-sand + rotate: false + xy: 893, 1304 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +sand1 + rotate: false + xy: 893, 1304 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-icon-scorch + rotate: false + xy: 927, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-icon-separator + rotate: false + xy: 961, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +separator + rotate: false + xy: 961, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-icon-shock-mine + rotate: false + xy: 995, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +shock-mine + rotate: false + xy: 995, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-icon-shrub + rotate: false + xy: 1029, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +shrub + rotate: false + xy: 1029, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-icon-silicon-smelter + rotate: false + xy: 687, 1205 + size: 64, 64 + orig: 64, 64 + offset: 0, 0 + index: -1 +silicon-smelter + rotate: false + xy: 687, 1205 + size: 64, 64 + orig: 64, 64 + offset: 0, 0 + index: -1 +block-icon-smelter + rotate: false + xy: 1063, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +smelter + rotate: false + xy: 1063, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-icon-snow + rotate: false + xy: 1097, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +snow1 + rotate: false + xy: 1097, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-icon-solar-panel + rotate: false + xy: 1131, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel + rotate: false + xy: 1131, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-icon-solar-panel-large + rotate: false + xy: 245, 1601 + size: 96, 96 + orig: 96, 96 + offset: 0, 0 + index: -1 +solar-panel-large + rotate: false + xy: 245, 1601 + size: 96, 96 + orig: 96, 96 + offset: 0, 0 + index: -1 +block-icon-solidifer + rotate: false + xy: 1165, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solidifer + rotate: false + xy: 1165, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-icon-sorter + rotate: false + xy: 1199, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +sorter + rotate: false + xy: 1199, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-icon-space + rotate: false + xy: 1233, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +space + rotate: false + xy: 1233, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-icon-spawn + rotate: false + xy: 1267, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +spawn + rotate: false + xy: 1267, 1311 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +block-icon-spectre + rotate: false + xy: 1, 1204 + size: 128, 128 + orig: 128, 128 + offset: 0, 0 + index: -1 block-icon-spirit-factory rotate: false - xy: 980, 399 - size: 16, 16 - orig: 16, 16 + xy: 663, 1139 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-stone rotate: false - xy: 155, 148 - size: 8, 8 - orig: 8, 8 + xy: 1301, 1311 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 stone1 rotate: false - xy: 155, 148 - size: 8, 8 - orig: 8, 8 + xy: 1301, 1311 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-surge-wall rotate: false - xy: 165, 148 - size: 8, 8 - orig: 8, 8 + xy: 1553, 1538 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 surge-wall rotate: false - xy: 165, 148 - size: 8, 8 - orig: 8, 8 + xy: 1553, 1538 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-surge-wall-large rotate: false - xy: 458, 338 - size: 16, 16 - orig: 16, 16 + xy: 729, 1139 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 surge-wall-large rotate: false - xy: 458, 338 - size: 16, 16 - orig: 16, 16 + xy: 729, 1139 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-swarmer rotate: false - xy: 476, 342 - size: 16, 16 - orig: 16, 16 + xy: 753, 1205 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-tar rotate: false - xy: 175, 148 - size: 8, 8 - orig: 8, 8 + xy: 1587, 1533 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 tar rotate: false - xy: 175, 148 - size: 8, 8 - orig: 8, 8 + xy: 1587, 1533 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-tau-mech-pad rotate: false - xy: 456, 320 - size: 16, 16 - orig: 16, 16 + xy: 761, 1271 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 tau-mech-pad rotate: false - xy: 456, 320 - size: 16, 16 - orig: 16, 16 + xy: 761, 1271 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-thermal-generator rotate: false - xy: 896, 391 - size: 16, 16 - orig: 16, 16 + xy: 773, 1337 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 thermal-generator rotate: false - xy: 896, 391 - size: 16, 16 - orig: 16, 16 + xy: 773, 1337 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-thermal-pump rotate: false - xy: 914, 391 - size: 16, 16 - orig: 16, 16 + xy: 795, 1139 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 thermal-pump rotate: false - xy: 914, 391 - size: 16, 16 - orig: 16, 16 + xy: 795, 1139 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-thorium-reactor rotate: false - xy: 314, 349 - size: 24, 24 - orig: 24, 24 + xy: 343, 1601 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 thorium-reactor rotate: false - xy: 314, 349 - size: 24, 24 - orig: 24, 24 + xy: 343, 1601 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-thorium-wall rotate: false - xy: 185, 148 - size: 8, 8 - orig: 8, 8 + xy: 131, 8 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 thorium-wall rotate: false - xy: 185, 148 - size: 8, 8 - orig: 8, 8 + xy: 131, 8 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-thorium-wall-large rotate: false - xy: 932, 391 - size: 16, 16 - orig: 16, 16 + xy: 819, 1205 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 thorium-wall-large rotate: false - xy: 932, 391 - size: 16, 16 - orig: 16, 16 + xy: 819, 1205 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-titan-factory rotate: false - xy: 288, 346 - size: 24, 24 - orig: 24, 24 + xy: 441, 1601 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-titanium-conveyor rotate: false - xy: 84, 138 - size: 8, 8 - orig: 8, 8 + xy: 165, 8 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-0 rotate: false - xy: 84, 138 - size: 8, 8 - orig: 8, 8 + xy: 165, 8 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-trident-ship-pad rotate: false - xy: 896, 373 - size: 16, 16 - orig: 16, 16 + xy: 827, 1271 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 trident-ship-pad rotate: false - xy: 896, 373 - size: 16, 16 - orig: 16, 16 + xy: 827, 1271 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-turbine-generator rotate: false - xy: 914, 373 - size: 16, 16 - orig: 16, 16 + xy: 861, 1139 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 turbine-generator rotate: false - xy: 914, 373 - size: 16, 16 - orig: 16, 16 + xy: 861, 1139 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-unloader rotate: false - xy: 94, 138 - size: 8, 8 - orig: 8, 8 + xy: 199, 8 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 unloader rotate: false - xy: 94, 138 - size: 8, 8 - orig: 8, 8 + xy: 199, 8 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-vault rotate: false - xy: 340, 338 - size: 24, 24 - orig: 24, 24 + xy: 539, 1601 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 vault rotate: false - xy: 340, 338 - size: 24, 24 - orig: 24, 24 + xy: 539, 1601 + size: 96, 96 + orig: 96, 96 offset: 0, 0 index: -1 block-icon-water rotate: false - xy: 84, 128 - size: 8, 8 - orig: 8, 8 + xy: 233, 15 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 water rotate: false - xy: 84, 128 - size: 8, 8 - orig: 8, 8 + xy: 233, 15 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 block-icon-water-extractor rotate: false - xy: 932, 373 - size: 16, 16 - orig: 16, 16 + xy: 885, 1205 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-wave rotate: false - xy: 456, 302 - size: 16, 16 - orig: 16, 16 + xy: 927, 1139 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 block-icon-wraith-factory rotate: false - xy: 950, 379 - size: 16, 16 - orig: 16, 16 + xy: 1932, 1851 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 deepwater-cliff-edge rotate: false - xy: 104, 88 - size: 8, 8 - orig: 8, 8 + xy: 1441, 1453 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 deepwater-cliff-edge-1 rotate: false - xy: 114, 88 - size: 8, 8 - orig: 8, 8 + xy: 1441, 1419 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 deepwater-cliff-edge-2 rotate: false - xy: 124, 88 - size: 8, 8 - orig: 8, 8 + xy: 1441, 1385 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 deepwater-cliff-side rotate: false - xy: 134, 88 - size: 8, 8 - orig: 8, 8 + xy: 1469, 1521 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 dirt-cliff-edge rotate: false - xy: 174, 88 - size: 8, 8 - orig: 8, 8 + xy: 1475, 1385 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 dirt-cliff-edge-1 rotate: false - xy: 184, 88 - size: 8, 8 - orig: 8, 8 + xy: 363, 781 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 dirt-cliff-edge-2 rotate: false - xy: 83, 78 - size: 8, 8 - orig: 8, 8 + xy: 363, 747 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 dirt-cliff-side rotate: false - xy: 83, 68 - size: 8, 8 - orig: 8, 8 + xy: 363, 713 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 lava-cliff-edge rotate: false - xy: 133, 48 - size: 8, 8 - orig: 8, 8 + xy: 985, 1209 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 lava-cliff-edge-1 rotate: false - xy: 143, 48 - size: 8, 8 - orig: 8, 8 + xy: 1053, 1243 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 lava-cliff-edge-2 rotate: false - xy: 153, 48 - size: 8, 8 - orig: 8, 8 + xy: 1019, 1209 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 lava-cliff-side rotate: false - xy: 163, 48 - size: 8, 8 - orig: 8, 8 + xy: 1087, 1243 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 liquid-icon-cryofluid rotate: false - xy: 1004, 365 - size: 8, 8 - orig: 8, 8 + xy: 1189, 1243 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 liquid-icon-lava rotate: false - xy: 1014, 397 - size: 8, 8 - orig: 8, 8 + xy: 1155, 1209 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 liquid-icon-oil rotate: false - xy: 1014, 387 - size: 8, 8 - orig: 8, 8 + xy: 1223, 1243 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 liquid-icon-water rotate: false - xy: 1014, 377 - size: 8, 8 - orig: 8, 8 + xy: 1189, 1209 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 mech-icon-alpha-mech rotate: false - xy: 599, 250 - size: 12, 12 - orig: 12, 12 + xy: 1085, 1497 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 mech-icon-dart-ship rotate: false - xy: 613, 250 - size: 12, 12 - orig: 12, 12 + xy: 1035, 1447 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 mech-icon-delta-mech rotate: false - xy: 627, 250 - size: 12, 12 - orig: 12, 12 + xy: 1185, 1547 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 mech-icon-omega-mech rotate: false - xy: 165, 158 - size: 14, 14 - orig: 14, 14 + xy: 924, 1597 + size: 56, 56 + orig: 56, 56 offset: 0, 0 index: -1 mech-icon-tau-mech rotate: false - xy: 181, 158 - size: 14, 14 - orig: 14, 14 + xy: 982, 1597 + size: 56, 56 + orig: 56, 56 offset: 0, 0 index: -1 mech-icon-trident-ship rotate: false - xy: 68, 140 - size: 14, 14 - orig: 14, 14 + xy: 1040, 1597 + size: 56, 56 + orig: 56, 56 offset: 0, 0 index: -1 trident-ship rotate: false - xy: 68, 140 - size: 14, 14 - orig: 14, 14 + xy: 1040, 1597 + size: 56, 56 + orig: 56, 56 offset: 0, 0 index: -1 metalfloor-cliff-edge rotate: false - xy: 682, 333 - size: 8, 8 - orig: 8, 8 + xy: 993, 1107 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 metalfloor-cliff-edge-1 rotate: false - xy: 682, 323 - size: 8, 8 - orig: 8, 8 + xy: 1027, 1141 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 metalfloor-cliff-edge-2 rotate: false - xy: 682, 313 - size: 8, 8 - orig: 8, 8 + xy: 1061, 1175 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 metalfloor-cliff-side rotate: false - xy: 682, 303 - size: 8, 8 - orig: 8, 8 + xy: 993, 1073 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-blackstone1 rotate: false - xy: 682, 283 - size: 8, 8 - orig: 8, 8 + xy: 1061, 1141 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-blackstone2 rotate: false - xy: 682, 273 - size: 8, 8 - orig: 8, 8 + xy: 1095, 1175 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-blackstone3 rotate: false - xy: 682, 263 - size: 8, 8 - orig: 8, 8 + xy: 1027, 1073 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-grass1 rotate: false - xy: 692, 355 - size: 8, 8 - orig: 8, 8 + xy: 1061, 1107 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-grass2 rotate: false - xy: 692, 345 - size: 8, 8 - orig: 8, 8 + xy: 1095, 1141 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-grass3 rotate: false - xy: 692, 335 - size: 8, 8 - orig: 8, 8 + xy: 1129, 1175 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-ice1 rotate: false - xy: 692, 325 - size: 8, 8 - orig: 8, 8 + xy: 1061, 1073 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-ice2 rotate: false - xy: 692, 315 - size: 8, 8 - orig: 8, 8 + xy: 1095, 1107 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-ice3 rotate: false - xy: 692, 305 - size: 8, 8 - orig: 8, 8 + xy: 1129, 1141 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-sand1 rotate: false - xy: 692, 295 - size: 8, 8 - orig: 8, 8 + xy: 1163, 1175 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-sand2 rotate: false - xy: 692, 285 - size: 8, 8 - orig: 8, 8 + xy: 1095, 1073 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-sand3 rotate: false - xy: 692, 275 - size: 8, 8 - orig: 8, 8 + xy: 1129, 1107 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-snow1 rotate: false - xy: 692, 265 - size: 8, 8 - orig: 8, 8 + xy: 1163, 1141 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-snow2 rotate: false - xy: 689, 253 - size: 8, 8 - orig: 8, 8 + xy: 1197, 1175 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-snow3 rotate: false - xy: 689, 243 - size: 8, 8 - orig: 8, 8 + xy: 1129, 1073 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-stone1 rotate: false - xy: 689, 233 - size: 8, 8 - orig: 8, 8 + xy: 1163, 1107 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-stone2 rotate: false - xy: 207, 238 - size: 8, 8 - orig: 8, 8 + xy: 1197, 1141 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-coal-stone3 rotate: false - xy: 207, 228 - size: 8, 8 - orig: 8, 8 + xy: 1231, 1175 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-blackstone1 rotate: false - xy: 207, 218 - size: 8, 8 - orig: 8, 8 + xy: 1163, 1073 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-blackstone2 rotate: false - xy: 217, 240 - size: 8, 8 - orig: 8, 8 + xy: 1197, 1107 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-blackstone3 rotate: false - xy: 217, 230 - size: 8, 8 - orig: 8, 8 + xy: 1231, 1141 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-grass1 rotate: false - xy: 227, 240 - size: 8, 8 - orig: 8, 8 + xy: 1265, 1175 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-grass2 rotate: false - xy: 217, 220 - size: 8, 8 - orig: 8, 8 + xy: 1197, 1073 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-grass3 rotate: false - xy: 227, 230 - size: 8, 8 - orig: 8, 8 + xy: 1231, 1107 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-ice1 rotate: false - xy: 237, 240 - size: 8, 8 - orig: 8, 8 + xy: 1265, 1141 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-ice2 rotate: false - xy: 227, 220 - size: 8, 8 - orig: 8, 8 + xy: 1231, 1073 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-ice3 rotate: false - xy: 237, 230 - size: 8, 8 - orig: 8, 8 + xy: 1265, 1107 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-sand1 rotate: false - xy: 247, 240 - size: 8, 8 - orig: 8, 8 + xy: 1265, 1073 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-sand2 rotate: false - xy: 237, 220 - size: 8, 8 - orig: 8, 8 + xy: 369, 33 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-sand3 rotate: false - xy: 247, 230 - size: 8, 8 - orig: 8, 8 + xy: 1299, 1175 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-snow1 rotate: false - xy: 257, 240 - size: 8, 8 - orig: 8, 8 + xy: 1299, 1141 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-snow2 rotate: false - xy: 247, 220 - size: 8, 8 - orig: 8, 8 + xy: 1299, 1107 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-snow3 rotate: false - xy: 257, 230 - size: 8, 8 - orig: 8, 8 + xy: 1299, 1073 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-stone1 rotate: false - xy: 267, 240 - size: 8, 8 - orig: 8, 8 + xy: 1325, 1243 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-stone2 rotate: false - xy: 257, 220 - size: 8, 8 - orig: 8, 8 + xy: 1325, 1209 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-copper-stone3 rotate: false - xy: 267, 230 - size: 8, 8 - orig: 8, 8 + xy: 1333, 1175 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-blackstone1 rotate: false - xy: 277, 240 - size: 8, 8 - orig: 8, 8 + xy: 1333, 1141 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-blackstone2 rotate: false - xy: 267, 220 - size: 8, 8 - orig: 8, 8 + xy: 1333, 1107 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-blackstone3 rotate: false - xy: 277, 230 - size: 8, 8 - orig: 8, 8 + xy: 1333, 1073 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-grass1 rotate: false - xy: 287, 240 - size: 8, 8 - orig: 8, 8 + xy: 1503, 1525 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-grass2 rotate: false - xy: 277, 220 - size: 8, 8 - orig: 8, 8 + xy: 1509, 1491 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-grass3 rotate: false - xy: 287, 230 - size: 8, 8 - orig: 8, 8 + xy: 1509, 1457 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-ice1 rotate: false - xy: 297, 240 - size: 8, 8 - orig: 8, 8 + xy: 1509, 1423 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-ice2 rotate: false - xy: 287, 220 - size: 8, 8 - orig: 8, 8 + xy: 1509, 1389 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-ice3 rotate: false - xy: 297, 230 - size: 8, 8 - orig: 8, 8 + xy: 1543, 1504 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-sand1 rotate: false - xy: 307, 240 - size: 8, 8 - orig: 8, 8 + xy: 1543, 1470 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-sand2 rotate: false - xy: 297, 220 - size: 8, 8 - orig: 8, 8 + xy: 1543, 1436 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-sand3 rotate: false - xy: 307, 230 - size: 8, 8 - orig: 8, 8 + xy: 1543, 1402 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-snow1 rotate: false - xy: 317, 240 - size: 8, 8 - orig: 8, 8 + xy: 1577, 1499 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-snow2 rotate: false - xy: 307, 220 - size: 8, 8 - orig: 8, 8 + xy: 1577, 1465 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-snow3 rotate: false - xy: 317, 230 - size: 8, 8 - orig: 8, 8 + xy: 1577, 1431 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-stone1 rotate: false - xy: 327, 240 - size: 8, 8 - orig: 8, 8 + xy: 1577, 1397 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-stone2 rotate: false - xy: 317, 220 - size: 8, 8 - orig: 8, 8 + xy: 1543, 1368 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-lead-stone3 rotate: false - xy: 327, 230 - size: 8, 8 - orig: 8, 8 + xy: 1577, 1363 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-blackstone1 rotate: false - xy: 337, 240 - size: 8, 8 - orig: 8, 8 + xy: 1509, 1355 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-blackstone2 rotate: false - xy: 327, 220 - size: 8, 8 - orig: 8, 8 + xy: 1543, 1334 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-blackstone3 rotate: false - xy: 337, 230 - size: 8, 8 - orig: 8, 8 + xy: 1577, 1329 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-grass1 rotate: false - xy: 347, 240 - size: 8, 8 - orig: 8, 8 + xy: 1611, 1499 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-grass2 rotate: false - xy: 337, 220 - size: 8, 8 - orig: 8, 8 + xy: 1611, 1465 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-grass3 rotate: false - xy: 347, 230 - size: 8, 8 - orig: 8, 8 + xy: 1611, 1431 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-ice1 rotate: false - xy: 357, 240 - size: 8, 8 - orig: 8, 8 + xy: 1611, 1397 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-ice2 rotate: false - xy: 347, 220 - size: 8, 8 - orig: 8, 8 + xy: 1611, 1363 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-ice3 rotate: false - xy: 357, 230 - size: 8, 8 - orig: 8, 8 + xy: 1611, 1329 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-sand1 rotate: false - xy: 367, 240 - size: 8, 8 - orig: 8, 8 + xy: 1621, 1533 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-sand2 rotate: false - xy: 357, 220 - size: 8, 8 - orig: 8, 8 + xy: 1655, 1537 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-sand3 rotate: false - xy: 367, 230 - size: 8, 8 - orig: 8, 8 + xy: 1689, 1537 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-snow1 rotate: false - xy: 377, 240 - size: 8, 8 - orig: 8, 8 + xy: 1723, 1537 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-snow2 rotate: false - xy: 367, 220 - size: 8, 8 - orig: 8, 8 + xy: 1757, 1537 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-snow3 rotate: false - xy: 377, 230 - size: 8, 8 - orig: 8, 8 + xy: 1791, 1537 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-stone1 rotate: false - xy: 387, 240 - size: 8, 8 - orig: 8, 8 + xy: 1825, 1537 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-stone2 rotate: false - xy: 377, 220 - size: 8, 8 - orig: 8, 8 + xy: 1859, 1537 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-thorium-stone3 rotate: false - xy: 387, 230 - size: 8, 8 - orig: 8, 8 + xy: 1893, 1535 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-blackstone1 rotate: false - xy: 397, 240 - size: 8, 8 - orig: 8, 8 + xy: 1645, 1499 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-blackstone2 rotate: false - xy: 387, 220 - size: 8, 8 - orig: 8, 8 + xy: 1645, 1465 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-blackstone3 rotate: false - xy: 397, 230 - size: 8, 8 - orig: 8, 8 + xy: 1645, 1431 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-grass1 rotate: false - xy: 407, 240 - size: 8, 8 - orig: 8, 8 + xy: 1645, 1397 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-grass2 rotate: false - xy: 397, 220 - size: 8, 8 - orig: 8, 8 + xy: 1645, 1363 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-grass3 rotate: false - xy: 407, 230 - size: 8, 8 - orig: 8, 8 + xy: 1645, 1329 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-ice1 rotate: false - xy: 417, 240 - size: 8, 8 - orig: 8, 8 + xy: 1679, 1503 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-ice2 rotate: false - xy: 407, 220 - size: 8, 8 - orig: 8, 8 + xy: 1679, 1469 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-ice3 rotate: false - xy: 417, 230 - size: 8, 8 - orig: 8, 8 + xy: 1713, 1503 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-sand1 rotate: false - xy: 427, 240 - size: 8, 8 - orig: 8, 8 + xy: 1679, 1435 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-sand2 rotate: false - xy: 417, 220 - size: 8, 8 - orig: 8, 8 + xy: 1713, 1469 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-sand3 rotate: false - xy: 427, 230 - size: 8, 8 - orig: 8, 8 + xy: 1747, 1503 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-snow1 rotate: false - xy: 437, 240 - size: 8, 8 - orig: 8, 8 + xy: 1679, 1401 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-snow2 rotate: false - xy: 427, 220 - size: 8, 8 - orig: 8, 8 + xy: 1713, 1435 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-snow3 rotate: false - xy: 437, 230 - size: 8, 8 - orig: 8, 8 + xy: 1747, 1469 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-stone1 rotate: false - xy: 447, 240 - size: 8, 8 - orig: 8, 8 + xy: 1781, 1503 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-stone2 rotate: false - xy: 437, 220 - size: 8, 8 - orig: 8, 8 + xy: 1679, 1367 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 ore-titanium-stone3 rotate: false - xy: 447, 230 - size: 8, 8 - orig: 8, 8 + xy: 1713, 1401 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 sand-cliff-edge rotate: false - xy: 527, 242 - size: 8, 8 - orig: 8, 8 + xy: 1883, 1501 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 sand-cliff-edge-1 rotate: false - xy: 527, 232 - size: 8, 8 - orig: 8, 8 + xy: 1883, 1467 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 sand-cliff-edge-2 rotate: false - xy: 517, 222 - size: 8, 8 - orig: 8, 8 + xy: 1883, 1433 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 sand-cliff-side rotate: false - xy: 537, 242 - size: 8, 8 - orig: 8, 8 + xy: 1883, 1399 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 snow-cliff-edge rotate: false - xy: 567, 232 - size: 8, 8 - orig: 8, 8 + xy: 1951, 1467 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 snow-cliff-edge-1 rotate: false - xy: 557, 222 - size: 8, 8 - orig: 8, 8 + xy: 1951, 1433 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 snow-cliff-edge-2 rotate: false - xy: 567, 222 - size: 8, 8 - orig: 8, 8 + xy: 1951, 1399 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 snow-cliff-side rotate: false - xy: 195, 142 - size: 8, 8 - orig: 8, 8 + xy: 1951, 1365 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 space-cliff-edge rotate: false - xy: 194, 122 - size: 8, 8 - orig: 8, 8 + xy: 1961, 1561 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 space-cliff-edge-1 rotate: false - xy: 194, 112 - size: 8, 8 - orig: 8, 8 + xy: 1995, 1561 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 space-cliff-edge-2 rotate: false - xy: 194, 102 - size: 8, 8 - orig: 8, 8 + xy: 1985, 1527 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 space-cliff-side rotate: false - xy: 194, 92 - size: 8, 8 - orig: 8, 8 + xy: 1985, 1493 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 tar-cliff-edge rotate: false - xy: 194, 82 - size: 8, 8 - orig: 8, 8 + xy: 1713, 1299 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 tar-cliff-edge-1 rotate: false - xy: 204, 82 - size: 8, 8 - orig: 8, 8 + xy: 1747, 1299 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 tar-cliff-edge-2 rotate: false - xy: 193, 72 - size: 8, 8 - orig: 8, 8 + xy: 1781, 1299 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 tar-cliff-side rotate: false - xy: 193, 62 - size: 8, 8 - orig: 8, 8 + xy: 1815, 1299 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 unit-icon-dagger rotate: false - xy: 726, 387 - size: 12, 12 - orig: 12, 12 + xy: 1385, 1547 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 unit-icon-fortress rotate: false - xy: 584, 342 - size: 16, 16 - orig: 16, 16 + xy: 1659, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 unit-icon-titan rotate: false - xy: 602, 360 - size: 16, 16 - orig: 16, 16 + xy: 1857, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 unit-icon-wraith rotate: false - xy: 986, 349 - size: 12, 12 - orig: 12, 12 + xy: 1335, 1497 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 wraith rotate: false - xy: 986, 349 - size: 12, 12 - orig: 12, 12 + xy: 1335, 1497 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 item-biomatter rotate: false - xy: 143, 58 - size: 8, 8 - orig: 8, 8 + xy: 1199, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 item-blast-compound rotate: false - xy: 153, 68 - size: 8, 8 - orig: 8, 8 + xy: 363, 305 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 item-coal rotate: false - xy: 163, 78 - size: 8, 8 - orig: 8, 8 + xy: 1233, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 item-copper rotate: false - xy: 153, 58 - size: 8, 8 - orig: 8, 8 + xy: 363, 271 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 item-dense-alloy rotate: false - xy: 163, 68 - size: 8, 8 - orig: 8, 8 + xy: 1267, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 item-lead rotate: false - xy: 173, 78 - size: 8, 8 - orig: 8, 8 + xy: 363, 237 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 item-phase-fabric rotate: false - xy: 163, 58 - size: 8, 8 - orig: 8, 8 + xy: 1301, 1277 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 item-plastanium rotate: false - xy: 173, 68 - size: 8, 8 - orig: 8, 8 + xy: 363, 203 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 item-pyratite rotate: false - xy: 183, 78 - size: 8, 8 - orig: 8, 8 + xy: 363, 169 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 item-sand rotate: false - xy: 173, 58 - size: 8, 8 - orig: 8, 8 + xy: 363, 135 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 183, 68 - size: 8, 8 - orig: 8, 8 + xy: 363, 101 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 item-stone rotate: false - xy: 183, 58 - size: 8, 8 - orig: 8, 8 + xy: 363, 67 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 103, 48 - size: 8, 8 - orig: 8, 8 + xy: 951, 1243 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 113, 48 - size: 8, 8 - orig: 8, 8 + xy: 951, 1209 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 123, 48 - size: 8, 8 - orig: 8, 8 + xy: 985, 1243 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 liquid-icon rotate: false - xy: 1004, 375 - size: 8, 8 - orig: 8, 8 + xy: 1121, 1209 + size: 32, 32 + orig: 32, 32 offset: 0, 0 index: -1 alpha-mech rotate: false - xy: 197, 166 - size: 12, 12 - orig: 12, 12 + xy: 1612, 1605 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 alpha-mech-base rotate: false - xy: 197, 152 - size: 12, 12 - orig: 12, 12 + xy: 1662, 1605 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 alpha-mech-leg rotate: false - xy: 274, 324 - size: 12, 12 - orig: 12, 12 + xy: 1712, 1605 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 delta-mech rotate: false - xy: 628, 306 - size: 12, 12 - orig: 12, 12 + xy: 835, 1440 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 delta-mech-base rotate: false - xy: 632, 320 - size: 12, 12 - orig: 12, 12 + xy: 885, 1547 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 delta-mech-leg rotate: false - xy: 634, 292 - size: 12, 12 - orig: 12, 12 + xy: 935, 1547 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 omega-mech rotate: false - xy: 68, 124 - size: 14, 14 - orig: 14, 14 + xy: 1098, 1597 + size: 56, 56 + orig: 56, 56 offset: 0, 0 index: -1 omega-mech-armor rotate: false - xy: 68, 108 - size: 14, 14 - orig: 14, 14 + xy: 1156, 1597 + size: 56, 56 + orig: 56, 56 offset: 0, 0 index: -1 omega-mech-base rotate: false - xy: 68, 92 - size: 14, 14 - orig: 14, 14 + xy: 1214, 1597 + size: 56, 56 + orig: 56, 56 offset: 0, 0 index: -1 omega-mech-leg rotate: false - xy: 67, 76 - size: 14, 14 - orig: 14, 14 + xy: 1272, 1597 + size: 56, 56 + orig: 56, 56 offset: 0, 0 index: -1 tau-mech rotate: false - xy: 620, 334 - size: 14, 14 - orig: 14, 14 + xy: 1446, 1597 + size: 56, 56 + orig: 56, 56 offset: 0, 0 index: -1 tau-mech-base rotate: false - xy: 998, 419 - size: 12, 12 - orig: 12, 12 + xy: 1285, 1497 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 tau-mech-leg rotate: false - xy: 998, 405 - size: 12, 12 - orig: 12, 12 + xy: 1235, 1447 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 dart-ship rotate: false - xy: 620, 278 - size: 12, 12 - orig: 12, 12 + xy: 835, 1490 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 glaive-ship rotate: false - xy: 1, 1 - size: 14, 14 - orig: 14, 14 + xy: 866, 1597 + size: 56, 56 + orig: 56, 56 offset: 0, 0 index: -1 mech-icon-glaive-ship rotate: false - xy: 1, 1 - size: 14, 14 - orig: 14, 14 + xy: 866, 1597 + size: 56, 56 + orig: 56, 56 offset: 0, 0 index: -1 javelin-ship rotate: false - xy: 634, 264 - size: 12, 12 - orig: 12, 12 + xy: 1035, 1497 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 mech-icon-javelin-ship rotate: false - xy: 634, 264 - size: 12, 12 - orig: 12, 12 + xy: 1035, 1497 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 javelin-ship-shield rotate: false - xy: 648, 264 - size: 12, 12 - orig: 12, 12 + xy: 985, 1447 + size: 48, 48 + orig: 48, 48 + offset: 0, 0 + index: -1 +blank + rotate: false + xy: 810, 1924 + size: 1, 1 + orig: 1, 1 offset: 0, 0 index: -1 circle rotate: false - xy: 1, 310 + xy: 1, 1724 size: 201, 201 orig: 201, 201 offset: 0, 0 index: -1 +clear + rotate: false + xy: 242, 1794 + size: 1, 1 + orig: 1, 1 + offset: 0, 0 + index: -1 shape-3 rotate: false - xy: 204, 401 + xy: 801, 1590 size: 63, 63 orig: 63, 63 offset: 0, 0 index: -1 button rotate: false - xy: 486, 484 + xy: 1962, 1595 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -5285,7 +5194,7 @@ button index: -1 button-down rotate: false - xy: 204, 322 + xy: 204, 1768 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -5293,7 +5202,7 @@ button-down index: -1 button-edge-1 rotate: false - xy: 334, 484 + xy: 785, 1411 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -5301,7 +5210,7 @@ button-edge-1 index: -1 button-edge-2 rotate: false - xy: 1, 133 + xy: 1335, 1468 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -5309,7 +5218,7 @@ button-edge-2 index: -1 button-edge-3 rotate: false - xy: 372, 484 + xy: 204, 1739 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -5317,7 +5226,7 @@ button-edge-3 index: -1 button-edge-4 rotate: false - xy: 1, 104 + xy: 823, 1411 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -5325,7 +5234,7 @@ button-edge-4 index: -1 button-over rotate: false - xy: 410, 484 + xy: 43, 5 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -5333,7 +5242,7 @@ button-over index: -1 button-right rotate: false - xy: 1, 46 + xy: 1962, 1624 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -5341,7 +5250,7 @@ button-right index: -1 button-right-down rotate: false - xy: 1, 75 + xy: 81, 5 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -5349,7 +5258,7 @@ button-right-down index: -1 button-right-over rotate: false - xy: 448, 484 + xy: 1335, 1439 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -5357,7 +5266,7 @@ button-right-over index: -1 button-select rotate: false - xy: 366, 338 + xy: 371, 819 size: 24, 24 split: 4, 4, 4, 4 orig: 24, 24 @@ -5365,868 +5274,868 @@ button-select index: -1 check-off rotate: false - xy: 532, 450 + xy: 1931, 1569 size: 28, 32 orig: 28, 32 offset: 0, 0 index: -1 check-on rotate: false - xy: 562, 450 + xy: 2019, 1527 size: 28, 32 orig: 28, 32 offset: 0, 0 index: -1 check-on-over rotate: false - xy: 592, 450 + xy: 2019, 1493 size: 28, 32 orig: 28, 32 offset: 0, 0 index: -1 check-over rotate: false - xy: 439, 410 + xy: 2019, 1459 size: 28, 32 orig: 28, 32 offset: 0, 0 index: -1 clear rotate: false - xy: 950, 397 + xy: 695, 1346 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 cursor rotate: false - xy: 998, 399 + xy: 295, 61 size: 4, 4 orig: 4, 4 offset: 0, 0 index: -1 discord-banner rotate: false - xy: 204, 466 + xy: 724, 1880 size: 84, 45 orig: 84, 45 offset: 0, 0 index: -1 empty-sector rotate: false - xy: 983, 479 + xy: 363, 611 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 icon-crafting rotate: false - xy: 266, 278 + xy: 465, 643 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-defense rotate: false - xy: 279, 260 + xy: 543, 1117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-distribution rotate: false - xy: 284, 278 + xy: 2007, 1660 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-effect rotate: false - xy: 297, 260 + xy: 319, 15 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-liquid rotate: false - xy: 374, 278 + xy: 465, 607 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-power rotate: false - xy: 459, 260 + xy: 449, 521 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-production rotate: false - xy: 476, 324 + xy: 449, 503 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-turret rotate: false - xy: 510, 306 + xy: 446, 449 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-units rotate: false - xy: 482, 270 + xy: 446, 431 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-upgrade rotate: false - xy: 518, 270 + xy: 446, 413 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 controller-cursor rotate: false - xy: 986, 381 + xy: 1989, 1660 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-about rotate: false - xy: 53, 188 + xy: 1303, 1413 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-add rotate: false - xy: 17, 1 + xy: 1537, 1547 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-admin rotate: false - xy: 33, 1 + xy: 785, 1592 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-admin-small rotate: false - xy: 1017, 505 + xy: 687, 1276 size: 6, 6 orig: 6, 6 offset: 0, 0 index: -1 icon-areaDelete rotate: false - xy: 302, 334 + xy: 798, 1868 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow rotate: false - xy: 125, 190 + xy: 1303, 1429 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-arrow-16 rotate: false - xy: 125, 190 + xy: 1303, 1429 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-arrow-down rotate: false - xy: 302, 322 + xy: 119, 22 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-left rotate: false - xy: 740, 389 + xy: 798, 1856 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-right rotate: false - xy: 274, 312 + xy: 119, 10 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-up rotate: false - xy: 635, 420 + xy: 397, 67 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-back rotate: false - xy: 143, 190 + xy: 301, 15 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-ban rotate: false - xy: 49, 1 + xy: 391, 17 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-break rotate: false - xy: 161, 190 + xy: 327, 921 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-cancel rotate: false - xy: 179, 190 + xy: 425, 1019 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-chat rotate: false - xy: 636, 408 + xy: 204, 1727 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-check rotate: false - xy: 418, 298 + xy: 1961, 1543 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-copy rotate: false - xy: 436, 296 + xy: 431, 521 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-cursor rotate: false - xy: 636, 396 + xy: 2036, 1855 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-dev-builds rotate: false - xy: 242, 322 + xy: 391, 1 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-discord rotate: false - xy: 189, 242 + xy: 565, 1101 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-donate rotate: false - xy: 69, 188 + xy: 581, 1101 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-dots rotate: false - xy: 256, 296 + xy: 565, 1085 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-editor rotate: false - xy: 602, 326 + xy: 581, 1085 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-egg rotate: false - xy: 69, 172 + xy: 565, 1069 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-elevation rotate: false - xy: 302, 278 + xy: 345, 921 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-eraser rotate: false - xy: 315, 260 + xy: 443, 1019 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-exit rotate: false - xy: 272, 296 + xy: 581, 1069 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-file rotate: false - xy: 320, 278 + xy: 465, 625 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-file-image rotate: false - xy: 333, 260 + xy: 561, 1117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-file-text rotate: false - xy: 258, 322 + xy: 565, 1053 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-fill rotate: false - xy: 338, 278 + xy: 579, 1117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-floppy rotate: false - xy: 288, 296 + xy: 581, 1053 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-floppy-16 rotate: false - xy: 351, 260 + xy: 337, 15 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-folder rotate: false - xy: 304, 296 + xy: 597, 1061 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-folder-parent rotate: false - xy: 320, 296 + xy: 613, 1061 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-generated rotate: false - xy: 204, 351 + xy: 1085, 1547 size: 48, 48 orig: 48, 48 offset: 0, 0 index: -1 icon-github rotate: false - xy: 336, 296 + xy: 629, 1061 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-google-play rotate: false - xy: 352, 296 + xy: 645, 1061 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-grid rotate: false - xy: 356, 278 + xy: 363, 921 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-hold rotate: false - xy: 648, 397 + xy: 1335, 1277 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-holdDelete rotate: false - xy: 636, 384 + xy: 1321, 1435 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-home rotate: false - xy: 368, 296 + xy: 467, 1003 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-host rotate: false - xy: 384, 296 + xy: 483, 1003 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-info rotate: false - xy: 660, 397 + xy: 465, 541 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-itch.io rotate: false - xy: 620, 398 + xy: 467, 987 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-item rotate: false - xy: 648, 385 + xy: 427, 351 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-items-none rotate: false - xy: 143, 68 + xy: 403, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-line rotate: false - xy: 369, 260 + xy: 461, 1019 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-link rotate: false - xy: 620, 382 + xy: 467, 971 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-liquid-small rotate: false - xy: 636, 372 + xy: 443, 367 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-load rotate: false - xy: 620, 366 + xy: 483, 987 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-load-image rotate: false - xy: 387, 260 + xy: 355, 15 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-load-map rotate: false - xy: 392, 278 + xy: 381, 921 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-loading rotate: false - xy: 410, 280 + xy: 479, 1019 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-locked rotate: false - xy: 428, 278 + xy: 465, 589 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-logic rotate: false - xy: 660, 385 + xy: 409, 67 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-map rotate: false - xy: 620, 350 + xy: 499, 995 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-menu rotate: false - xy: 648, 373 + xy: 403, 55 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu-large rotate: false - xy: 446, 278 + xy: 373, 15 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-missing rotate: false - xy: 636, 360 + xy: 216, 1727 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-mission-background rotate: false - xy: 986, 459 + xy: 523, 1115 size: 18, 18 orig: 18, 18 offset: 0, 0 index: -1 icon-mission-battle rotate: false - xy: 648, 361 + xy: 2036, 1843 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-mission-defense rotate: false - xy: 660, 373 + xy: 1347, 1277 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-mission-done rotate: false - xy: 636, 348 + xy: 427, 339 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-none rotate: false - xy: 648, 349 + xy: 403, 43 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-nullitem rotate: false - xy: 153, 78 + xy: 1315, 1345 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-paste rotate: false - xy: 405, 260 + xy: 465, 571 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-pause rotate: false - xy: 660, 361 + xy: 228, 1727 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pencil rotate: false - xy: 423, 260 + xy: 465, 553 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-pencil-small rotate: false - xy: 191, 226 + xy: 467, 955 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-pick rotate: false - xy: 441, 260 + xy: 431, 503 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-play rotate: false - xy: 636, 336 + xy: 427, 327 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-play-2 rotate: false - xy: 191, 210 + xy: 483, 971 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-players rotate: false - xy: 648, 337 + xy: 427, 315 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-power-small rotate: false - xy: 660, 349 + xy: 427, 303 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-quit rotate: false - xy: 85, 174 + xy: 499, 979 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-redo rotate: false - xy: 494, 324 + xy: 428, 485 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-refresh rotate: false - xy: 101, 174 + xy: 515, 995 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rename rotate: false - xy: 117, 174 + xy: 483, 955 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-resize rotate: false - xy: 474, 306 + xy: 428, 467 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-rotate rotate: false - xy: 133, 174 + xy: 499, 963 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-arrow rotate: false - xy: 149, 174 + xy: 515, 979 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-left rotate: false - xy: 165, 174 + xy: 531, 995 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-right rotate: false - xy: 181, 174 + xy: 515, 963 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save rotate: false - xy: 590, 290 + xy: 531, 979 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save-image rotate: false - xy: 492, 306 + xy: 446, 485 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-save-map rotate: false - xy: 464, 284 + xy: 428, 449 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-settings rotate: false - xy: 660, 337 + xy: 427, 291 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-terrain rotate: false - xy: 482, 288 + xy: 446, 467 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-tools rotate: false - xy: 590, 274 + xy: 547, 995 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-touch rotate: false - xy: 672, 387 + xy: 427, 279 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-touchDelete rotate: false - xy: 672, 375 + xy: 427, 267 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-trash rotate: false - xy: 69, 156 + xy: 531, 963 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-trash-16 rotate: false - xy: 500, 288 + xy: 428, 431 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-trello rotate: false - xy: 85, 158 + xy: 547, 979 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-tutorial rotate: false - xy: 101, 158 + xy: 547, 963 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-undo rotate: false - xy: 518, 288 + xy: 428, 413 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-unlocked rotate: false - xy: 500, 270 + xy: 428, 395 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-unlocks rotate: false - xy: 117, 158 + xy: 428, 379 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-wiki rotate: false - xy: 133, 158 + xy: 444, 379 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-zoom rotate: false - xy: 477, 252 + xy: 446, 395 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-zoom-small rotate: false - xy: 149, 158 + xy: 427, 363 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 info-banner rotate: false - xy: 1, 240 + xy: 621, 1358 size: 84, 45 orig: 84, 45 offset: 0, 0 index: -1 inventory rotate: false - xy: 752, 437 + xy: 465, 740 size: 24, 40 split: 10, 10, 10, 14 orig: 24, 40 @@ -6234,14 +6143,14 @@ inventory index: -1 logotext rotate: false - xy: 1, 287 - size: 89, 21 - orig: 89, 21 + xy: 1, 1927 + size: 810, 120 + orig: 810, 120 offset: 0, 0 index: -1 pane rotate: false - xy: 524, 484 + xy: 1998, 1838 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -6249,7 +6158,7 @@ pane index: -1 pane-2 rotate: false - xy: 1, 17 + xy: 1553, 1572 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -6257,7 +6166,7 @@ pane-2 index: -1 scroll rotate: false - xy: 882, 416 + xy: 465, 661 size: 24, 35 split: 10, 10, 6, 5 orig: 24, 35 @@ -6265,7 +6174,7 @@ scroll index: -1 scroll-horizontal rotate: false - xy: 638, 487 + xy: 1989, 1678 size: 35, 24 split: 6, 5, 10, 10 orig: 35, 24 @@ -6273,7 +6182,7 @@ scroll-horizontal index: -1 scroll-knob-horizontal-black rotate: false - xy: 1, 162 + xy: 1, 8 size: 40, 24 split: 11, 10, 10, 10 orig: 40, 24 @@ -6281,7 +6190,7 @@ scroll-knob-horizontal-black index: -1 scroll-knob-vertical-black rotate: false - xy: 65, 1 + xy: 465, 698 size: 24, 40 split: 10, 10, 6, 10 orig: 24, 40 @@ -6289,63 +6198,63 @@ scroll-knob-vertical-black index: -1 sector-edge rotate: false - xy: 371, 416 + xy: 1917, 1467 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sector-select rotate: false - xy: 405, 450 + xy: 1917, 1433 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 selection rotate: false - xy: 303, 398 + xy: 204, 1724 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 slider rotate: false - xy: 879, 417 + xy: 242, 1784 size: 1, 8 orig: 1, 8 offset: 0, 0 index: -1 slider-knob rotate: false - xy: 439, 444 + xy: 397, 465 size: 29, 38 orig: 29, 38 offset: 0, 0 index: -1 slider-knob-down rotate: false - xy: 470, 444 + xy: 397, 425 size: 29, 38 orig: 29, 38 offset: 0, 0 index: -1 slider-knob-over rotate: false - xy: 501, 444 + xy: 397, 385 size: 29, 38 orig: 29, 38 offset: 0, 0 index: -1 slider-vertical rotate: false - xy: 638, 484 + xy: 893, 1271 size: 8, 1 orig: 8, 1 offset: 0, 0 index: -1 underline rotate: false - xy: 600, 484 + xy: 1989, 1704 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -6353,7 +6262,7 @@ underline index: -1 underline-2 rotate: false - xy: 562, 484 + xy: 1989, 1733 size: 36, 27 split: 12, 12, 12, 12 orig: 36, 27 @@ -6361,14 +6270,14 @@ underline-2 index: -1 white rotate: false - xy: 87, 282 + xy: 1577, 1533 size: 3, 3 orig: 3, 3 offset: 0, 0 index: -1 window-empty rotate: false - xy: 39, 99 + xy: 465, 782 size: 27, 61 split: 8, 8, 44, 11 orig: 27, 61 @@ -6376,211 +6285,211 @@ window-empty index: -1 alpha-drone rotate: false - xy: 400, 298 - size: 12, 12 - orig: 12, 12 + xy: 1998, 1867 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 unit-icon-alpha-drone rotate: false - xy: 400, 298 - size: 12, 12 - orig: 12, 12 + xy: 1998, 1867 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 dagger rotate: false - xy: 606, 292 - size: 12, 12 - orig: 12, 12 + xy: 785, 1490 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 dagger-base rotate: false - xy: 606, 278 - size: 12, 12 - orig: 12, 12 + xy: 785, 1440 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 dagger-leg rotate: false - xy: 620, 292 - size: 12, 12 - orig: 12, 12 + xy: 835, 1540 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 fortress rotate: false - xy: 261, 260 - size: 16, 16 - orig: 16, 16 + xy: 999, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 fortress-base rotate: false - xy: 89, 190 - size: 16, 16 - orig: 16, 16 + xy: 933, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 titan-base rotate: false - xy: 89, 190 - size: 16, 16 - orig: 16, 16 + xy: 933, 1721 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 fortress-leg rotate: false - xy: 107, 190 - size: 16, 16 - orig: 16, 16 + xy: 867, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 ghoul rotate: false - xy: 960, 433 - size: 18, 18 - orig: 18, 18 + xy: 327, 939 + size: 72, 72 + orig: 72, 72 offset: 0, 0 index: -1 unit-icon-ghoul rotate: false - xy: 960, 433 - size: 18, 18 - orig: 18, 18 + xy: 327, 939 + size: 72, 72 + orig: 72, 72 offset: 0, 0 index: -1 phantom rotate: false - xy: 67, 60 - size: 14, 14 - orig: 14, 14 + xy: 1330, 1597 + size: 56, 56 + orig: 56, 56 offset: 0, 0 index: -1 unit-icon-phantom rotate: false - xy: 67, 60 - size: 14, 14 - orig: 14, 14 + xy: 1330, 1597 + size: 56, 56 + orig: 56, 56 offset: 0, 0 index: -1 power-cell rotate: false - xy: 67, 44 - size: 14, 14 - orig: 14, 14 + xy: 1388, 1597 + size: 56, 56 + orig: 56, 56 offset: 0, 0 index: -1 revenant rotate: false - xy: 469, 414 - size: 28, 28 - orig: 28, 28 + xy: 131, 1610 + size: 112, 112 + orig: 112, 112 offset: 0, 0 index: -1 unit-icon-revenant rotate: false - xy: 469, 414 - size: 28, 28 - orig: 28, 28 + xy: 131, 1610 + size: 112, 112 + orig: 112, 112 offset: 0, 0 index: -1 spirit rotate: false - xy: 655, 250 - size: 12, 12 - orig: 12, 12 + xy: 1285, 1547 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 unit-icon-spirit rotate: false - xy: 655, 250 - size: 12, 12 - orig: 12, 12 + xy: 1285, 1547 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 titan rotate: false - xy: 566, 324 - size: 16, 16 - orig: 16, 16 + xy: 1593, 1655 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 titan-leg rotate: false - xy: 564, 306 - size: 16, 16 - orig: 16, 16 + xy: 1791, 1787 + size: 64, 64 + orig: 64, 64 offset: 0, 0 index: -1 artillery-equip rotate: false - xy: 618, 320 - size: 12, 12 - orig: 12, 12 + xy: 1762, 1605 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 blaster-equip rotate: false - xy: 288, 318 - size: 12, 12 - orig: 12, 12 + xy: 1862, 1605 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 bomber-equip rotate: false - xy: 600, 306 - size: 12, 12 - orig: 12, 12 + xy: 1912, 1603 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 missiles-equip rotate: false - xy: 600, 306 - size: 12, 12 - orig: 12, 12 + xy: 1912, 1603 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 chain-blaster-equip rotate: false - xy: 614, 306 - size: 12, 12 - orig: 12, 12 + xy: 785, 1540 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 flakgun-equip rotate: false - xy: 648, 292 - size: 12, 12 - orig: 12, 12 + xy: 935, 1497 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 flamethrower-equip rotate: false - xy: 648, 278 - size: 12, 12 - orig: 12, 12 + xy: 885, 1447 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 heal-blaster-equip rotate: false - xy: 606, 264 - size: 12, 12 - orig: 12, 12 + xy: 985, 1497 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 shockgun-equip rotate: false - xy: 613, 236 - size: 12, 12 - orig: 12, 12 + xy: 1235, 1547 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 swarmer-equip rotate: false - xy: 1006, 447 - size: 12, 12 - orig: 12, 12 + xy: 1185, 1447 + size: 48, 48 + orig: 48, 48 offset: 0, 0 index: -1 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 83413e6262..f42c2663f7 100644 Binary files a/core/assets/sprites/sprites.png and b/core/assets/sprites/sprites.png differ diff --git a/core/src/io/anuke/mindustry/content/blocks/Blocks.java b/core/src/io/anuke/mindustry/content/blocks/Blocks.java index 877b370f4b..16618bb039 100644 --- a/core/src/io/anuke/mindustry/content/blocks/Blocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/Blocks.java @@ -160,9 +160,7 @@ public class Blocks extends BlockList implements ContentList{ minimapColor = Color.valueOf("549d5b"); }}; - shrub = new Rock("shrub"){{ - shadow = "shrubshadow"; - }}; + shrub = new Rock("shrub"); rock = new Rock("rock"){{ variants = 2; diff --git a/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java b/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java index 06db127bb0..2554114642 100644 --- a/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java @@ -40,7 +40,6 @@ public class DebugBlocks extends BlockList implements ContentList{ powerVoid = new PowerBlock("powervoid"){ { powerCapacity = Float.MAX_VALUE; - shadow = "shadow-round-1"; } @Override @@ -56,7 +55,6 @@ public class DebugBlocks extends BlockList implements ContentList{ maxNodes = 100; outputsPower = true; consumesPower = false; - shadow = "shadow-round-1"; } @Override diff --git a/core/src/io/anuke/mindustry/content/blocks/LiquidBlocks.java b/core/src/io/anuke/mindustry/content/blocks/LiquidBlocks.java index e4eb6ff040..78d41bb413 100644 --- a/core/src/io/anuke/mindustry/content/blocks/LiquidBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/LiquidBlocks.java @@ -12,13 +12,11 @@ public class LiquidBlocks extends BlockList implements ContentList{ public void load(){ mechanicalPump = new Pump("mechanical-pump"){{ - shadow = "shadow-round-1"; pumpAmount = 0.1f; tier = 0; }}; rotaryPump = new Pump("rotary-pump"){{ - shadow = "shadow-rounded-2"; pumpAmount = 0.2f; consumes.power(0.015f); liquidCapacity = 30f; @@ -29,7 +27,6 @@ public class LiquidBlocks extends BlockList implements ContentList{ }}; thermalPump = new Pump("thermal-pump"){{ - shadow = "shadow-rounded-2"; pumpAmount = 0.275f; consumes.power(0.03f); liquidCapacity = 40f; diff --git a/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java b/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java index 1101a106e8..f9b866cbc0 100644 --- a/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java @@ -72,7 +72,6 @@ public class PowerBlocks extends BlockList implements ContentList{ }}; powerNode = new PowerNode("power-node"){{ - shadow = "shadow-round-1"; maxNodes = 4; laserRange = 6; }}; @@ -81,7 +80,6 @@ public class PowerBlocks extends BlockList implements ContentList{ size = 2; maxNodes = 6; laserRange = 9.5f; - shadow = "shadow-round-2"; }}; } diff --git a/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java b/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java index 7f4a40d602..14ad6cbafa 100644 --- a/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java @@ -45,7 +45,6 @@ public class UnitBlocks extends BlockList implements ContentList{ produceTime = 3600; size = 3; consumes.power(0.2f); - shadow = "shadow-round-3"; consumes.items(new ItemStack(Items.silicon, 30), new ItemStack(Items.titanium, 30), new ItemStack(Items.plastanium, 20)); }}; @@ -54,7 +53,6 @@ public class UnitBlocks extends BlockList implements ContentList{ produceTime = 8000; size = 4; consumes.power(0.3f); - shadow = "shadow-round-4"; consumes.items(new ItemStack(Items.silicon, 80), new ItemStack(Items.titanium, 80), new ItemStack(Items.plastanium, 50)); }}; @@ -71,7 +69,6 @@ public class UnitBlocks extends BlockList implements ContentList{ produceTime = 3400; size = 3; consumes.power(0.15f); - shadow = "shadow-round-3"; consumes.items(new ItemStack(Items.silicon, 20), new ItemStack(Items.thorium, 30)); }}; @@ -80,12 +77,10 @@ public class UnitBlocks extends BlockList implements ContentList{ produceTime = 5000; size = 3; consumes.power(0.2f); - shadow = "shadow-round-3"; consumes.items(new ItemStack(Items.silicon, 40), new ItemStack(Items.thorium, 50)); }}; repairPoint = new RepairPoint("repair-point"){{ - shadow = "shadow-round-1"; repairSpeed = 0.1f; }}; diff --git a/core/src/io/anuke/mindustry/content/blocks/UpgradeBlocks.java b/core/src/io/anuke/mindustry/content/blocks/UpgradeBlocks.java index 5e991fd9e7..d9c6d2d98d 100644 --- a/core/src/io/anuke/mindustry/content/blocks/UpgradeBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/UpgradeBlocks.java @@ -37,28 +37,24 @@ public class UpgradeBlocks extends BlockList{ mech = Mechs.dart; size = 2; powerCapacity = 50f; - shadow = "shadow-rounded-2"; }}; javelinPad = new MechPad("javelin-ship-pad"){{ mech = Mechs.javelin; size = 2; powerCapacity = 80f; - shadow = "shadow-rounded-2"; }}; tridentPad = new MechPad("trident-ship-pad"){{ mech = Mechs.trident; size = 2; powerCapacity = 100f; - shadow = "shadow-rounded-2"; }}; glaivePad = new MechPad("glaive-ship-pad"){{ mech = Mechs.glaive; size = 3; powerCapacity = 120f; - shadow = "shadow-round-3"; }}; } } diff --git a/core/src/io/anuke/mindustry/content/fx/BlockFx.java b/core/src/io/anuke/mindustry/content/fx/BlockFx.java index 042fa5516a..d849c9b5f8 100644 --- a/core/src/io/anuke/mindustry/content/fx/BlockFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BlockFx.java @@ -235,7 +235,7 @@ public class BlockFx extends FxList implements ContentList{ Lines.stroke(e.fout() * 2f); Angles.randLenVectors(e.id, 30, 4f + 40f * e.fin(), (x, y) -> { - Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), e.fin() * 4f + 1f); + Lines.lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fin() * 4f + 1f); }); Draw.reset(); @@ -246,7 +246,7 @@ public class BlockFx extends FxList implements ContentList{ Lines.circle(e.x, e.y, 7f + e.fout() * 8f); Angles.randLenVectors(e.id, 20, 6f + 20f * e.fout(), (x, y) -> { - Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), e.fin() * 4f + 1f); + Lines.lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fin() * 4f + 1f); }); Draw.reset(); @@ -257,7 +257,7 @@ public class BlockFx extends FxList implements ContentList{ Lines.circle(e.x, e.y, 7f + e.fin() * 8f); Angles.randLenVectors(e.id, 20, 4f + 20f * e.fin(), (x, y) -> { - Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), e.fslope() * 4f + 1f); + Lines.lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fslope() * 4f + 1f); }); Draw.reset(); diff --git a/core/src/io/anuke/mindustry/content/fx/BulletFx.java b/core/src/io/anuke/mindustry/content/fx/BulletFx.java index 34e78766d2..3c6441b876 100644 --- a/core/src/io/anuke/mindustry/content/fx/BulletFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BulletFx.java @@ -29,7 +29,7 @@ public class BulletFx extends FxList implements ContentList{ Lines.stroke(0.5f + e.fout()); Angles.randLenVectors(e.id, 5, e.fin() * 15f, (x, y) -> { - float ang = Mathf.atan2(x, y); + float ang = Mathf.angle(x, y); Lines.lineAngle(e.x + x, e.y + y, ang, e.fout() * 3 + 1f); }); @@ -48,7 +48,7 @@ public class BulletFx extends FxList implements ContentList{ Lines.stroke(0.5f + e.fout()); Angles.randLenVectors(e.id, 6, e.fin() * 15f, (x, y) -> { - float ang = Mathf.atan2(x, y); + float ang = Mathf.angle(x, y); Lines.lineAngle(e.x + x, e.y + y, ang, e.fout() * 3 + 1f); }); @@ -60,7 +60,7 @@ public class BulletFx extends FxList implements ContentList{ Lines.stroke(0.5f + e.fout() * 1.5f); Angles.randLenVectors(e.id, 8, e.finpow() * 30f, e.rotation, 50f, (x, y) -> { - float ang = Mathf.atan2(x, y); + float ang = Mathf.angle(x, y); Lines.lineAngle(e.x + x, e.y + y, ang, e.fout() * 4 + 1.5f); }); @@ -72,7 +72,7 @@ public class BulletFx extends FxList implements ContentList{ Lines.stroke(0.5f + e.fout()); Angles.randLenVectors(e.id, 5, e.fin() * 15f, e.rotation, 50f, (x, y) -> { - float ang = Mathf.atan2(x, y); + float ang = Mathf.angle(x, y); Lines.lineAngle(e.x + x, e.y + y, ang, e.fout() * 3 + 1f); }); @@ -94,7 +94,7 @@ public class BulletFx extends FxList implements ContentList{ Lines.stroke(e.fout() * 1.5f); Angles.randLenVectors(e.id, 8, e.finpow() * 17f, e.rotation, 360f, (x, y) -> { - float ang = Mathf.atan2(x, y); + float ang = Mathf.angle(x, y); Lines.lineAngle(e.x + x, e.y + y, ang, e.fout() * 4 + 1f); }); @@ -106,7 +106,7 @@ public class BulletFx extends FxList implements ContentList{ Lines.stroke(e.fout() * 2f); Angles.randLenVectors(e.id, 6, e.finpow() * 18f, e.rotation, 360f, (x, y) -> { - float ang = Mathf.atan2(x, y); + float ang = Mathf.angle(x, y); Lines.lineAngle(e.x + x, e.y + y, ang, e.fout() * 4 + 1f); }); @@ -125,7 +125,7 @@ public class BulletFx extends FxList implements ContentList{ Lines.stroke(e.fout()); Angles.randLenVectors(e.id, 7, e.fin() * 7f, e.rotation, 40f, (x, y) -> { - float ang = Mathf.atan2(x, y); + float ang = Mathf.angle(x, y); Lines.lineAngle(e.x + x, e.y + y, ang, e.fout() * 2 + 1f); }); @@ -150,7 +150,7 @@ public class BulletFx extends FxList implements ContentList{ Lines.stroke(1f * e.fout()); Angles.randLenVectors(e.id + 1, 4, 1f + 23f * e.finpow(), (x, y) -> { - Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), 1f + e.fout() * 3f); + Lines.lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); }); Draw.reset(); @@ -174,7 +174,7 @@ public class BulletFx extends FxList implements ContentList{ Lines.stroke(1f * e.fout()); Angles.randLenVectors(e.id + 1, 4, 1f + 25f * e.finpow(), (x, y) -> { - Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), 1f + e.fout() * 3f); + Lines.lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); }); Draw.reset(); @@ -198,7 +198,7 @@ public class BulletFx extends FxList implements ContentList{ Lines.stroke(1f * e.fout()); Angles.randLenVectors(e.id + 1, 4, 1f + 30f * e.finpow(), (x, y) -> { - Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), 1f + e.fout() * 3f); + Lines.lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); }); Draw.reset(); @@ -222,7 +222,7 @@ public class BulletFx extends FxList implements ContentList{ Lines.stroke(1f * e.fout()); Angles.randLenVectors(e.id + 1, 4, 1f + 23f * e.finpow(), (x, y) -> { - Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), 1f + e.fout() * 3f); + Lines.lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); }); Draw.reset(); @@ -271,7 +271,7 @@ public class BulletFx extends FxList implements ContentList{ Lines.stroke(1f * e.fout()); Angles.randLenVectors(e.id + 1, 4, 1f + 23f * e.finpow(), (x, y) -> { - Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), 1f + e.fout() * 3f); + Lines.lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); }); Draw.reset(); diff --git a/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java b/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java index 2818bf9085..6d823b0e48 100644 --- a/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java +++ b/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java @@ -54,7 +54,7 @@ public class ExplosionFx extends FxList implements ContentList{ Lines.stroke(1.5f * e.fout()); Angles.randLenVectors(e.id + 1, 8, 1f + 23f * e.finpow(), (x, y) -> { - Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), 1f + e.fout() * 3f); + Lines.lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); }); Draw.reset(); @@ -77,7 +77,7 @@ public class ExplosionFx extends FxList implements ContentList{ Lines.stroke(1.7f * e.fout()); Angles.randLenVectors(e.id + 1, 9, 1f + 23f * e.finpow(), (x, y) -> { - Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), 1f + e.fout() * 3f); + Lines.lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); }); Draw.reset(); diff --git a/core/src/io/anuke/mindustry/content/fx/ShootFx.java b/core/src/io/anuke/mindustry/content/fx/ShootFx.java index f2c588610a..39b96c6161 100644 --- a/core/src/io/anuke/mindustry/content/fx/ShootFx.java +++ b/core/src/io/anuke/mindustry/content/fx/ShootFx.java @@ -177,7 +177,7 @@ public class ShootFx extends FxList implements ContentList{ Draw.color(Palette.lancerLaser); Angles.randLenVectors(e.id, 7, 80f, e.rotation, 0f, (x, y) -> { - Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), e.fout() * 9f); + Lines.lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fout() * 9f); }); Draw.reset(); @@ -187,7 +187,7 @@ public class ShootFx extends FxList implements ContentList{ Draw.color(Palette.lancerLaser); Angles.randLenVectors(e.id, 2, 1f + 20f * e.fout(), e.rotation, 120f, (x, y) -> { - Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), e.fslope() * 3f + 1f); + Lines.lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fslope() * 3f + 1f); }); Draw.reset(); @@ -205,7 +205,7 @@ public class ShootFx extends FxList implements ContentList{ Draw.color(Palette.lancerLaser); Angles.randLenVectors(e.id, 2, 1f + 20f * e.fout(), e.rotation, 120f, (x, y) -> { - Shapes.tri(e.x + x, e.y + y, e.fslope() * 3f + 1, e.fslope() * 3f + 1, Mathf.atan2(x, y)); + Shapes.tri(e.x + x, e.y + y, e.fslope() * 3f + 1, e.fslope() * 3f + 1, Mathf.angle(x, y)); }); Draw.reset(); @@ -216,7 +216,7 @@ public class ShootFx extends FxList implements ContentList{ Lines.stroke(e.fout() * 1.2f + 0.5f); Angles.randLenVectors(e.id, 7, 25f * e.finpow(), e.rotation, 50f, (x, y) -> { - Lines.lineAngle(e.x + x, e.y + y, Mathf.atan2(x, y), e.fin() * 5f + 2f); + Lines.lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fin() * 5f + 2f); }); Draw.reset(); diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index 68868ccda6..e955472e1d 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -6,6 +6,7 @@ import io.anuke.arc.Events; import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.EntityQuery; import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.TextureAtlas; import io.anuke.arc.input.KeyCode; import io.anuke.arc.scene.ui.TextField; @@ -61,8 +62,13 @@ public class Control implements ApplicationListener{ content.initialize(Content::init); Core.atlas = new TextureAtlas("sprites/sprites.atlas"); + Draw.scl = 1f / Core.atlas.find("scale_marker").getWidth(); content.initialize(Content::load); + if(Core.atlas.getTextures().size != 1){ + throw new IllegalStateException("Atlas must be exactly one texture."); + } + unlocks.load(); Core.settings.setAppName(appName); @@ -284,7 +290,7 @@ public class Control implements ApplicationListener{ Core.settings.put("4.0-warning-2", true); Core.settings.save(); }).size(100f, 60f); - dialog.content().add("Reminder: The beta version you are about to play is very unstable, and is [accent]not representative of the final 4.0 release.[]\n\n " + + dialog.content().add("Reminder: The alpha version you are about to play is very unstable, and is [accent]not representative of the final 4.0 release.[]\n\n " + "\nThere is currently[scarlet] no sound implemented[]; this is intentional.\n" + "All current art and UI is temporary, and will be re-drawn before release. " + "\n\n[accent]Saves and maps may be corrupted without warning between updates.").wrap().width(400f); diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 3e910c4892..7b544944e8 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -170,7 +170,9 @@ public class Renderer implements ApplicationListener{ drawAndInterpolate(groundEffectGroup, e -> !(e instanceof BelowLiquidTrait)); blocks.processBlocks(); + blocks.drawShadows(); + for(Team team : Team.all){ if(blocks.isTeamShown(team)){ blocks.drawTeamBlocks(Layer.block, team); @@ -201,23 +203,21 @@ public class Renderer implements ApplicationListener{ //TODO shield /* - Graphics.beginShaders(Shaders.shield); - EntityDraw.draw(shieldGroup); - EntityDraw.drawWith(shieldGroup, shield -> true, shield -> ((ShieldEntity)shield).drawOver()); - Draw.color(Palette.accent); - Graphics.endShaders(); - Draw.color(); + if(shieldGroup.size() > 0){ + Graphics.beginShaders(Shaders.shield); + EntityDraw.draw(shieldGroup); + EntityDraw.drawWith(shieldGroup, shield -> true, shield -> ((ShieldEntity)shield).drawOver()); + Draw.color(Palette.accent); + Graphics.endShaders(); + Draw.color(); + } */ overlays.drawTop(); - //TODO this isn't necessary anymore - //Graphics.beginCam(); - EntityDraw.setClip(false); drawAndInterpolate(playerGroup, p -> !p.isDead() && !p.isLocal, Player::drawName); EntityDraw.setClip(true); - //Graphics.end(); Draw.color(); Draw.flush(); @@ -308,7 +308,6 @@ public class Renderer implements ApplicationListener{ float vpW = camera.width, vpH = camera.height; int w = world.width()*tilesize, h = world.height()*tilesize; int pw = pixelSurface.width(), ph = pixelSurface.height(); - showFog = false; disableUI = true; pixelSurface.setSize(w, h, true); Graphics.getEffectSurface().setSize(w, h, true); @@ -319,7 +318,6 @@ public class Renderer implements ApplicationListener{ draw(); - showFog = true; disableUI = false; camera.width = vpW; camera.height = vpH; diff --git a/core/src/io/anuke/mindustry/editor/MapRenderer.java b/core/src/io/anuke/mindustry/editor/MapRenderer.java index 1db1df1c96..9d7547ff0d 100644 --- a/core/src/io/anuke/mindustry/editor/MapRenderer.java +++ b/core/src/io/anuke/mindustry/editor/MapRenderer.java @@ -121,12 +121,12 @@ public class MapRenderer implements Disposable{ if(wall.rotate){ mesh.draw((wx % chunksize) + (wy % chunksize) * chunksize, region, wx * tilesize + wall.offset(), wy * tilesize + wall.offset(), - region.getWidth(), region.getHeight(), rotation * 90 - 90); + region.getWidth() * Draw.scl, region.getHeight() * Draw.scl, rotation * 90 - 90); }else{ mesh.draw((wx % chunksize) + (wy % chunksize) * chunksize, region, - wx * tilesize + wall.offset() + (tilesize - region.getWidth())/2f, - wy * tilesize + wall.offset() + (tilesize - region.getHeight())/2f, - region.getWidth(), region.getHeight()); + wx * tilesize + wall.offset() + (tilesize - region.getWidth() * Draw.scl)/2f, + wy * tilesize + wall.offset() + (tilesize - region.getHeight() * Draw.scl)/2f, + region.getWidth() * Draw.scl, region.getHeight() * Draw.scl); } }else{ region = floor.getEditorIcon(); @@ -150,7 +150,7 @@ public class MapRenderer implements Disposable{ mesh.draw((wx % chunksize) + (wy % chunksize) * chunksize + chunksize * chunksize, region, wx * tilesize - (wall.size/3) * tilesize, wy * tilesize - (wall.size/3) * tilesize, - region.getWidth(), region.getHeight()); + region.getWidth() * Draw.scl, region.getHeight() * Draw.scl); mesh.setColor(Color.WHITE); } diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index c01ac9db18..31248df866 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -319,7 +319,9 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra Draw.rect(mech.legRegion, x + Angles.trnsx(baseRotation, ft * i + boostTrnsY, -boostTrnsX * i), y + Angles.trnsy(baseRotation, ft * i + boostTrnsY, -boostTrnsX * i), - mech.legRegion.getWidth() * i, mech.legRegion.getHeight() - Mathf.clamp(ft * i, 0, 2), baseRotation - 90 + boostAng * i); + mech.legRegion.getWidth() * i * Draw.scl, + (mech.legRegion.getHeight() - Mathf.clamp(ft * i, 0, 2)) * Draw.scl, + baseRotation - 90 + boostAng * i); } Draw.rect(mech.baseRegion, x, y, baseRotation - 90); @@ -340,7 +342,10 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra float w = i > 0 ? -mech.weapon.equipRegion.getWidth() : mech.weapon.equipRegion.getWidth(); Draw.rect(mech.weapon.equipRegion, x + Angles.trnsx(tra, (mech.weaponOffsetX + mech.spreadX(this)) * i, trY), - y + Angles.trnsy(tra, (mech.weaponOffsetX + mech.spreadX(this)) * i, trY), w, mech.weapon.equipRegion.getHeight(), rotation - 90); + y + Angles.trnsy(tra, (mech.weaponOffsetX + mech.spreadX(this)) * i, trY), + w * Draw.scl, + mech.weapon.equipRegion.getHeight() * Draw.scl, + rotation - 90); } float backTrns = 4f, itemSize = 5f; diff --git a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java index d5d965215a..4103a97d50 100644 --- a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java @@ -104,7 +104,7 @@ public abstract class GroundUnit extends BaseUnit{ @Override public void move(float x, float y){ if(Mathf.dst(x, y) > 0.01f){ - baseRotation = Mathf.slerpDelta(baseRotation, Mathf.atan2(x, y), type.baseRotateSpeed); + baseRotation = Mathf.slerpDelta(baseRotation, Mathf.angle(x, y), type.baseRotateSpeed); } super.move(x, y); } diff --git a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java index d82d6274ee..bad18d37b4 100644 --- a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java @@ -82,11 +82,12 @@ public class BlockRenderer{ return; } - int shadowW = rangex * tilesize*2, shadowH = rangey * tilesize*2; + int shadowW = (int)(rangex * tilesize*2/Draw.scl), shadowH = (int)(rangey * tilesize*2/Draw.scl); teamChecks.clear(); requestidx = 0; + //TODO fix shadows Draw.flush(); Draw.proj().setOrtho(Mathf.round(camera.position.x, tilesize)-shadowW/2f, Mathf.round(camera.position.y, tilesize)-shadowH/2f, shadowW, shadowH); @@ -136,6 +137,7 @@ public class BlockRenderer{ } } + //TODO proper shadows Draw.flush(); shadows.end(); @@ -149,10 +151,6 @@ public class BlockRenderer{ lastRangeY = rangey; } - public int getRequests(){ - return requestidx; - } - public void drawBlocks(Layer stopAt){ for(; iterateidx < requestidx; iterateidx++){ diff --git a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java index 975249055a..461756141f 100644 --- a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java @@ -21,8 +21,7 @@ import io.anuke.mindustry.world.blocks.Floor; import java.util.Arrays; -import static io.anuke.mindustry.Vars.tilesize; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Vars.*; public class FloorRenderer{ private final static int chunksize = 64; @@ -194,7 +193,7 @@ public class FloorRenderer{ if(cbatch != null) cbatch.dispose(); int chunksx = Mathf.ceil((float) (world.width()) / chunksize), - chunksy = Mathf.ceil((float) (world.height()) / chunksize) ; + chunksy = Mathf.ceil((float) (world.height()) / chunksize) ; cache = new Chunk[chunksx][chunksy]; cbatch = new CacheBatch(world.width() * world.height() * 4 * 4); diff --git a/core/src/io/anuke/mindustry/graphics/Shapes.java b/core/src/io/anuke/mindustry/graphics/Shapes.java index 0faf484d8f..5d87feaefd 100644 --- a/core/src/io/anuke/mindustry/graphics/Shapes.java +++ b/core/src/io/anuke/mindustry/graphics/Shapes.java @@ -11,11 +11,11 @@ import io.anuke.arc.math.Mathf; public class Shapes{ public static void laser(String line, String edge, float x, float y, float x2, float y2, float scale){ - laser(line, edge, x, y, x2, y2, Mathf.atan2(x2 - x, y2 - y), scale); + laser(line, edge, x, y, x2, y2, Mathf.angle(x2 - x, y2 - y), scale); } public static void laser(String line, String edge, float x, float y, float x2, float y2){ - laser(line, edge, x, y, x2, y2, Mathf.atan2(x2 - x, y2 - y), 1f); + laser(line, edge, x, y, x2, y2, Mathf.angle(x2 - x, y2 - y), 1f); } public static void laser(String line, String edge, float x, float y, float x2, float y2, float rotation, float scale){ diff --git a/core/src/io/anuke/mindustry/input/DesktopInput.java b/core/src/io/anuke/mindustry/input/DesktopInput.java index 12d71ecd5c..b829e384a8 100644 --- a/core/src/io/anuke/mindustry/input/DesktopInput.java +++ b/core/src/io/anuke/mindustry/input/DesktopInput.java @@ -49,7 +49,8 @@ public class DesktopInput extends InputHandler{ for(TextureRegion region : regions){ Draw.rect(region, x * tilesize + block.offset(), y * tilesize + block.offset(), - region.getWidth() * selectScale, region.getHeight() * selectScale, block.rotate ? rotation * 90 : 0); + region.getWidth() * selectScale * Draw.scl, + region.getHeight() * selectScale * Draw.scl, block.rotate ? rotation * 90 : 0); } }else{ Draw.color(Palette.removeBack); diff --git a/core/src/io/anuke/mindustry/input/MobileInput.java b/core/src/io/anuke/mindustry/input/MobileInput.java index 101be9c646..1a8e0b68ab 100644 --- a/core/src/io/anuke/mindustry/input/MobileInput.java +++ b/core/src/io/anuke/mindustry/input/MobileInput.java @@ -177,7 +177,8 @@ public class MobileInput extends InputHandler implements GestureListener{ for(TextureRegion region : regions){ Draw.rect(region, tile.worldx() + offset, tile.worldy() + offset, - region.getWidth() * request.scale, region.getHeight() * request.scale, + region.getWidth() * request.scale * Draw.scl, + region.getHeight() * request.scale * Draw.scl, request.recipe.result.rotate ? request.rotation * 90 : 0); } }else{ @@ -345,7 +346,9 @@ public class MobileInput extends InputHandler implements GestureListener{ for(TextureRegion region : regions){ Draw.rect(region, x * tilesize + recipe.result.offset(), y * tilesize + recipe.result.offset(), - region.getWidth() * lineScale, region.getHeight() * lineScale, recipe.result.rotate ? result.rotation * 90 : 0); + region.getWidth() * lineScale * Draw.scl, + region.getHeight() * lineScale * Draw.scl, + recipe.result.rotate ? result.rotation * 90 : 0); } }else{ Draw.color(Palette.removeBack); @@ -734,4 +737,4 @@ public class MobileInput extends InputHandler implements GestureListener{ return world.tileWorld(x - (recipe == null ? 0 : recipe.result.offset()), y - (recipe == null ? 0 : recipe.result.offset())); } } -} \ No newline at end of file +} diff --git a/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java index 9f43806242..2387c95fa4 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java @@ -23,13 +23,13 @@ public class BackgroundFragment extends Fragment{ Draw.shader(); boolean portrait = Core.graphics.getWidth() < Core.graphics.getHeight(); - float logoscl = (int) Unit.dp.scl(7) * (portrait ? 5f / 7f : 1f); + float logoscl = (int) Unit.dp.scl(1) * (portrait ? 5f / 7f : 1f); TextureRegion logo = Core.atlas.find("logotext"); float logow = logo.getWidth() * logoscl; float logoh = logo.getHeight() * logoscl; Draw.color(); - Draw.rect(logo, (int) (w / 2), (int) (h - logoh + 15 - Unit.dp.scl(portrait ? 30f : 0)) + logoh/2, logow, logoh); + Draw.rect(logo, (int) (w / 2), (int) (h - 10 - logoh - Unit.dp.scl(portrait ? 30f : 0)) + logoh/2, logow, logoh); }).visible(() -> state.is(State.menu)).grow(); } } diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java index 22c08efcc9..a5dd5ca89e 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java @@ -216,7 +216,7 @@ public class PlacementFragment extends Fragment{ }); }).colspan(3).fillX().visible(() -> getSelected() != null || tileDisplayBlock() != null).touchable(Touchable.enabled); frame.row(); - frame.addImage("blank").color(Palette.accent).colspan(3).height(3 * 2).growX(); + frame.addImage("blank").color(Palette.accent).colspan(3).height(3).growX(); frame.row(); frame.table("pane-2", blocksSelect -> { blocksSelect.margin(4).marginTop(0); diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index 981267bb94..f9136c7974 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -85,8 +85,6 @@ public class Block extends BaseBlock { public EnumSet flags; /** Whether to automatically set the entity to 'sleeping' when created. */ public boolean autoSleep; - /** Name of shadow region to load. Null to indicate normal shadow. */ - public String shadow = null; /** Whether the block can be tapped and selected to configure. */ public boolean configurable; /** Whether this block consumes touchDown events when tapped. */ @@ -108,7 +106,6 @@ public class Block extends BaseBlock { protected TextureRegion[] compactIcon; protected TextureRegion editorIcon; - public TextureRegion shadowRegion; public TextureRegion region; public Block(String name){ @@ -256,7 +253,6 @@ public class Block extends BaseBlock { @Override public void load(){ - shadowRegion = Core.atlas.find(shadow == null ? "shadow-" + size : shadow); region = Core.atlas.find(name); } @@ -486,8 +482,8 @@ public class Block extends BaseBlock { /** Crops a regionto 8x8 */ protected TextureRegion iconRegion(TextureRegion src){ TextureRegion region = new TextureRegion(src); - region.setWidth(8); - region.setHeight(8); + region.setWidth((int)(8 / Draw.scl)); + region.setHeight((int)(8 / Draw.scl)); return region; } @@ -507,7 +503,7 @@ public class Block extends BaseBlock { } public void drawShadow(Tile tile){ - Draw.rect(shadowRegion, tile.drawx(), tile.drawy()); + draw(tile); } /** Offset for placing and drawing multiblocks. */ diff --git a/core/src/io/anuke/mindustry/world/Edges.java b/core/src/io/anuke/mindustry/world/Edges.java index c53ef47e65..e3501f42ed 100644 --- a/core/src/io/anuke/mindustry/world/Edges.java +++ b/core/src/io/anuke/mindustry/world/Edges.java @@ -39,7 +39,7 @@ public class Edges{ edges[i][idx++] = new Point2(top, bot + j + 1); } - Arrays.sort(edges[i], (e1, e2) -> Float.compare(Mathf.atan2(e1.x, e1.y), Mathf.atan2(e2.x, e2.y))); + Arrays.sort(edges[i], (e1, e2) -> Float.compare(Mathf.angle(e1.x, e1.y), Mathf.angle(e2.x, e2.y))); edgeInside[i] = new Point2[edges[i].length]; diff --git a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java index 597097ca17..2975bc37b3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java @@ -149,16 +149,7 @@ public class BuildBlock extends Block{ @Override public void drawShadow(Tile tile){ - BuildEntity entity = tile.entity(); - - Recipe recipe = entity.recipe; - Block previous = entity.previous; - - if(recipe != null){ - Draw.rect(recipe.result.shadowRegion, tile.drawx(), tile.drawy()); - }else if(previous != null && !(previous instanceof BuildBlock)){ - previous.drawShadow(tile); - } + //don't } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/Floor.java b/core/src/io/anuke/mindustry/world/blocks/Floor.java index e3734c2405..abc3cd3a9b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Floor.java +++ b/core/src/io/anuke/mindustry/world/blocks/Floor.java @@ -17,6 +17,8 @@ import io.anuke.mindustry.type.StatusEffect; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; +import static io.anuke.mindustry.Vars.tilesize; + public class Floor extends Block{ /** number of different variant regions to use */ public int variants; @@ -76,19 +78,23 @@ public class Floor extends Block{ TextureRegion result = new TextureRegion(); - int sx = -dx * 8 + 2, sy = -dy * 8 + 2; - int x = Mathf.clamp(sx, 0, 12); - int y = Mathf.clamp(sy, 0, 12); - int w = Mathf.clamp(sx + 8, 0, 12) - x, h = Mathf.clamp(sy + 8, 0, 12) - y; + int padSize = (int)(tilesize/Draw.scl/2); + int texSize = (int)(tilesize/Draw.scl); + int totSize = padSize + texSize; - float rx = Mathf.clamp(dx * 8, 0, 8 - w); - float ry = Mathf.clamp(dy * 8, 0, 8 - h); + int sx = -dx * texSize + padSize/2, sy = -dy * texSize + padSize/2; + int x = Mathf.clamp(sx, 0, totSize); + int y = Mathf.clamp(sy, 0, totSize); + int w = Mathf.clamp(sx + texSize, 0, totSize) - x, h = Mathf.clamp(sy + texSize, 0, totSize) - y; + + float rx = Mathf.clamp(dx * texSize, 0, texSize - w); + float ry = Mathf.clamp(dy * texSize, 0, texSize - h); result.setTexture(edgeRegion.getTexture()); result.set(edgeRegion.getX() + x, edgeRegion.getY() + y + h, w, -h); edgeRegions[i] = result; - offsets[i] = new Vector2(-4 + rx, -4 + ry); + offsets[i] = new Vector2(-padSize + rx, -padSize + ry); } cliffRegions = new TextureRegion[4]; @@ -172,13 +178,20 @@ public class Floor extends Block{ if(other == null) continue; Floor floor = other.floor(); + Floor cur = this; + if(floor instanceof OreBlock) floor = ((OreBlock) floor).base; + if(cur instanceof OreBlock) cur = ((OreBlock) cur).base; - if(floor.edgeRegions == null || (floor.id <= this.id && !(tile.getElevation() != -1 && other.getElevation() > tile.getElevation())) || (!blends.test(floor) && !tileBlends.test(tile, other)) || (floor.cacheLayer.ordinal() > this.cacheLayer.ordinal() && !sameLayer) || - (sameLayer && floor.cacheLayer == this.cacheLayer)) continue; + if(floor.edgeRegions == null || (floor.id <= cur.id && !(tile.getElevation() != -1 && other.getElevation() > tile.getElevation())) || (!cur.blends.test(floor) && !cur.tileBlends.test(tile, other)) || (floor.cacheLayer.ordinal() > cur.cacheLayer.ordinal() && !sameLayer) || + (sameLayer && floor.cacheLayer == cur.cacheLayer)) continue; TextureRegion region = floor.edgeRegions[i]; - Draw.rect(region, tile.worldx() + floor.offsets[i].x + region.getWidth()/2f, tile.worldy() + floor.offsets[i].y + region.getHeight()/2f, region.getWidth(), region.getHeight()); + Draw.rect(region, + tile.worldx() + floor.offsets[i].x * Draw.scl + Draw.scl * region.getWidth()/2f, + tile.worldy() + floor.offsets[i].y * Draw.scl + Draw.scl * region.getHeight()/2f, + region.getWidth() * Draw.scl, + region.getHeight() * Draw.scl); } } diff --git a/core/src/io/anuke/mindustry/world/blocks/OreBlock.java b/core/src/io/anuke/mindustry/world/blocks/OreBlock.java index 46664f0d76..ec04c1ade7 100644 --- a/core/src/io/anuke/mindustry/world/blocks/OreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/OreBlock.java @@ -3,7 +3,6 @@ package io.anuke.mindustry.world.blocks; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; -import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; @@ -18,8 +17,6 @@ public class OreBlock extends Floor{ this.base = base; this.variants = 3; this.minimapColor = ore.color; - this.blends = block -> (block instanceof OreBlock && ((OreBlock) block).base != base) || (!(block instanceof OreBlock) && block != base); - this.tileBlends = (tile, other) -> tile.getElevation() < other.getElevation(); this.edge = base.name; } @@ -50,8 +47,4 @@ public class OreBlock extends Floor{ base.drawEdges(tile, true); } - @Override - public boolean blendOverride(Block block){ - return block == base; - } } diff --git a/core/src/io/anuke/mindustry/world/blocks/Rock.java b/core/src/io/anuke/mindustry/world/blocks/Rock.java index 64a1a95229..57680e6b75 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Rock.java +++ b/core/src/io/anuke/mindustry/world/blocks/Rock.java @@ -26,15 +26,6 @@ public class Rock extends Block{ } } - @Override - public void drawShadow(Tile tile){ - if(shadowRegions != null){ - Draw.rect(shadowRegions[(Mathf.randomSeed(tile.pos(), 0, variants - 1))], tile.worldx(), tile.worldy()); - }else if(shadowRegion != null){ - Draw.rect(shadowRegion, tile.drawx(), tile.drawy()); - } - } - @Override public void load(){ super.load(); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java b/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java index e8f0f2151f..63b7001f51 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java @@ -24,7 +24,6 @@ public class ShockMine extends Block{ update = false; destructible = true; solid = false; - shadow = "shadow-shock-mine"; targetable = false; layer = Layer.overlay; } diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java index 065e2d3e65..656f48e3aa 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java @@ -133,8 +133,6 @@ public abstract class Turret extends Block{ @Override public void draw(Tile tile){ Draw.rect(baseRegion, tile.drawx(), tile.drawy()); - Draw.color(tile.getTeam().color, Color.WHITE, 0.45f); - Draw.rect(baseTopRegion, tile.drawx(), tile.drawy()); Draw.color(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java index c8d3b26201..24c318b2bd 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java @@ -38,17 +38,6 @@ public class Conduit extends LiquidBlock{ } } - @Override - public void drawShadow(Tile tile){ - ConduitEntity entity = tile.entity(); - - if(entity.blendshadowrot == -1){ - super.drawShadow(tile); - }else{ - Draw.rect(Core.atlas.find("shadow-corner"), tile.drawx(), tile.drawy(), (tile.getRotation() + 3 + entity.blendshadowrot) * 90); - } - } - @Override public void onProximityUpdate(Tile tile){ super.onProximityUpdate(tile); diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java index 047619158c..cb639260c4 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java @@ -28,7 +28,7 @@ import java.io.IOException; import static io.anuke.mindustry.Vars.*; public class Conveyor extends Block{ - private static final float itemSpace = 0.135f * 2.2f; + private static final float itemSpace = 0.135f * 2.5f; private static final float offsetScl = 128f * 3f; private static final float minmove = 1f / (Short.MAX_VALUE - 2); private static ItemPos drawpos = new ItemPos(); @@ -75,23 +75,6 @@ public class Conveyor extends Block{ } } - @Override - public void drawShadow(Tile tile){ - //fixes build block crash - if(!(tile.entity instanceof ConveyorEntity)){ - super.drawShadow(tile); - return; - } - - ConveyorEntity entity = tile.entity(); - - if(entity.blendshadowrot == -1){ - super.drawShadow(tile); - }else{ - Draw.rect(Core.atlas.find("shadow-corner"), tile.drawx(), tile.drawy(), (tile.getRotation() + 3 + entity.blendshadowrot) * 90); - } - } - @Override public void draw(Tile tile){ ConveyorEntity entity = tile.entity(); @@ -163,8 +146,8 @@ public class Conveyor extends Block{ tr2.trns(rotation * 90, -tilesize / 2f, pos.x * tilesize / 2f); Draw.rect(pos.item.region, - (int) (tile.x * tilesize + tr1.x * pos.y + tr2.x), - (int) (tile.y * tilesize + tr1.y * pos.y + tr2.y), itemSize, itemSize); + (tile.x * tilesize + tr1.x * pos.y + tr2.x), + (tile.y * tilesize + tr1.y * pos.y + tr2.y), itemSize, itemSize); } }catch(IndexOutOfBoundsException e){ diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java index 2690cc0e97..96e1af2cbd 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java @@ -238,8 +238,8 @@ public class PowerNode extends PowerBlock{ float angle1 = Angles.angle(x1, y1, x2, y2); float angle2 = angle1 + 180f; - t1.trns(angle1, tile.block().size * tilesize / 2f - 1f); - t2.trns(angle2, target.block().size * tilesize / 2f - 1f); + t1.trns(angle1, tile.block().size * tilesize / 2f - 1.5f); + t2.trns(angle2, target.block().size * tilesize / 2f - 1.5f); x1 += t1.x; y1 += t1.y; diff --git a/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java b/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java index 28179d163b..815e9d1792 100644 --- a/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java +++ b/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java @@ -21,6 +21,7 @@ public class DesktopLauncher extends Lwjgl3Application{ config.setTitle("Mindustry"); config.setMaximized(true); config.setWindowedMode(960, 540); + //config.setBackBufferConfig(0, 0, 0, 0, 0, 0, 16); config.setWindowIcon("sprites/icon.png"); Platform.instance = new DesktopPlatform(arg); diff --git a/tools/ImageResizer.exe b/tools/ImageResizer.exe new file mode 100644 index 0000000000..8cc546c67c Binary files /dev/null and b/tools/ImageResizer.exe differ diff --git a/tools/build.gradle b/tools/build.gradle index 3ee8806955..efff317f98 100644 --- a/tools/build.gradle +++ b/tools/build.gradle @@ -1,36 +1,40 @@ apply plugin: "java" sourceCompatibility = 1.8 -sourceSets.main.java.srcDirs = ["src/"] +sourceSets.main.java.srcDirs = [ "src/" ] import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.tools.texturepacker.TexturePacker import javax.imageio.ImageIO +import java.awt.image.BufferedImage -def textureFolder = "../core/assets-raw/sprites/generated/" +def outFolder = "../core/assets-raw/sprites_out/" +def genFolder = "../core/assets-raw/sprites_out/generated/" +def scaling = "XBRZ 4x" +def do4 = true task swapColors(){ doLast{ - if(project.hasProperty("colors")){ + if (project.hasProperty("colors")) { def carr = new File(getProperty("colors")).text.split("\n") def map = [:] def swaps = 0 - carr.each{ str -> map[Color.argb8888(Color.valueOf(str.split("=")[0]))] = Color.argb8888(Color.valueOf(str.split("=")[1])) } + carr.each {str -> map[Color.argb8888(Color.valueOf(str.split("=")[0]))] = Color.argb8888(Color.valueOf(str.split("=")[1]))} def tmpc = new Color() - fileTree(dir: '../core/assets-raw/sprites', include: "**/*.png").visit{ file -> + fileTree(dir: '../core/assets-raw/sprites', include: "**/*.png").visit { file -> if(file.isDirectory()) return - swaps++ + swaps ++ def img = ImageIO.read(file.file) - for(x in (0..img.getWidth() - 1)){ - for(y in (0..img.getHeight() - 1)){ + for (x in (0..img.getWidth()-1)) { + for (y in (0..img.getHeight()-1)) { def c = img.getRGB(x, y) Color.argb8888ToColor(tmpc, c) if(tmpc.a < 0.1f) continue if(map.containsKey(c)){ - img.setRGB(x, y, (int) map.get(c)) + img.setRGB(x, y, (int)map.get(c)) } } } @@ -43,45 +47,129 @@ task swapColors(){ } } -task pack(){ - dependsOn 'prePack' - +task scaleSprites4x(){ doLast{ - TexturePacker.process("core/assets-raw/sprites/", "core/assets/sprites/", "sprites.atlas") + fileTree(dir: '../core/assets-raw/sprites_out/', include: "**/*.png").visit { file -> + if(file.isDirectory() || file.toString().contains("/ui/")) return; - delete{ - delete textureFolder + for(int iteration in 0..1) { + def image = ImageIO.read(file.file) + def scaled = new BufferedImage(image.getWidth() * 2, image.getHeight() * 2, BufferedImage.TYPE_INT_ARGB) + + def getRGB = { int ix, int iy -> + return image.getRGB(Math.max(Math.min(ix, image.width - 1), 0), Math.max(Math.min(iy, image.height - 1), 0)) + } + + for (int x = 0; x < image.getWidth(); x++) { + for (int y = 0; y < image.getHeight(); y++) { + int p = image.getRGB(x, y) + int p1 = p, p2 = p, p3 = p, p4 = p + + int A = getRGB(x - 1, y + 1), + B = getRGB(x, y + 1), + C = getRGB(x + 1, y + 1), + D = getRGB(x - 1, y), + E = getRGB(x, y), + F = getRGB(x + 1, y), + G = getRGB(x - 1, y - 1), + H = getRGB(x, y - 1), + I = getRGB(x + 1, y - 1), + J = getRGB(x, y + 2), + K = getRGB(x - 2, y), + L = getRGB(x + 2, y), + M = getRGB(x, y - 2); + + if (B==D && B!=F && D!=H && (E!=A || E==C || E==G || A==J || A==K)) p1 = B + if (B==F & B!=D & F!=H && (E!=C || E==A || E==I || C==J || C==L)) p2 = F + if (D==H & B!=D & F!=H && (E!=G || E==A || E==I || G==K || G==M)) p3 = D + if (F==H & B!=F & D!=H && (E!=I || E==C || E==G || I==L || I==M)) p4 = H + + scaled.setRGB(x * 2, y * 2 + 1, p1) + scaled.setRGB(x * 2 + 1, y * 2 + 1, p2) + scaled.setRGB(x * 2, y * 2, p3) + scaled.setRGB(x * 2 + 1, y * 2, p4) + } + } + + ImageIO.write(scaled, "png", file.file) + } } } } -task prePack(){ - dependsOn "cleanup" + +task scaleSprites(){ + finalizedBy 'genSprites' + + if(do4){ + dependsOn 'scaleSprites4x' + }else{ + doLast { + def arguments = ["mono", "ImageResizer.exe"] + + fileTree(dir: '../core/assets-raw/sprites/', include: "**/*.png").visit { file -> + if (file.isDirectory() || file.toString().contains("/ui/")) return; + + def write = new File(file.file.toString().replace("/sprites", "/sprites_out")) + + arguments += ["/load", file.file.toString(), "/resize", + "auto", scaling, "/save", write.toString()] + } + + exec { commandLine arguments } + } + } +} + +task pack(){ + dependsOn 'cleanSprites', 'scaleSprites' + finalizedBy 'cleanup' doLast{ - TexturePacker.process("core/assets-raw/sprites/", "core/assets/sprites/", "sprites.atlas") - } - finalizedBy 'generateSprites' + copy{ + from "../core/assets-raw/sprites_replacement/" + into "../core/assets-raw/sprites_out/" + } + + TexturePacker.process("core/assets-raw/sprites_out/", "core/assets/sprites/", "sprites.atlas") + } + } task cleanup(){ - delete{ - delete textureFolder + doLast { + delete { + delete genFolder + delete outFolder + } } } -task generateSprites(dependsOn: classes, type: JavaExec){ - file(textureFolder).mkdirs() +task cleanSprites(){ + doLast{ + delete{ + delete "../core/assets-raw/sprites_out/" + } + copy{ + from "../core/assets-raw/sprites/" + into "../core/assets-raw/sprites_out/" + } + + file(genFolder).mkdirs() + } +} + +task genSprites(dependsOn: classes, type: JavaExec) { main = "io.anuke.mindustry.PackerLauncher" classpath = sourceSets.main.runtimeClasspath standardInput = System.in - workingDir = textureFolder + workingDir = genFolder } -task updateBundles(dependsOn: classes, type: JavaExec){ - file(textureFolder).mkdirs() +task updateBundles(dependsOn: classes, type: JavaExec) { + file(genFolder).mkdirs() main = "io.anuke.mindustry.BundleLauncher" classpath = sourceSets.main.runtimeClasspath diff --git a/tools/src/io/anuke/mindustry/GenRegion.java b/tools/src/io/anuke/mindustry/GenRegion.java index 6f6bf2a093..459311cb5b 100644 --- a/tools/src/io/anuke/mindustry/GenRegion.java +++ b/tools/src/io/anuke/mindustry/GenRegion.java @@ -6,11 +6,14 @@ import io.anuke.arc.graphics.g2d.TextureRegion; public class GenRegion extends AtlasRegion{ public String name; public boolean invalid; - public ImageContext context; + + public GenRegion(String name){ + this.name = name; + } public static void validate(TextureRegion region){ if(((GenRegion)region).invalid){ - ((GenRegion) region).context.err("Region does not exist: {0}", ((GenRegion)region).name); + ImageContext.err("Region does not exist: {0}", ((GenRegion)region).name); } } } diff --git a/tools/src/io/anuke/mindustry/Generators.java b/tools/src/io/anuke/mindustry/Generators.java index d938df0394..f8f5b72642 100644 --- a/tools/src/io/anuke/mindustry/Generators.java +++ b/tools/src/io/anuke/mindustry/Generators.java @@ -19,7 +19,7 @@ public class Generators { public static void generate(ImageContext context){ - context.generate("block-icons", () -> { + ImageContext.generate("block-icons", () -> { for(Block block : content.blocks()){ TextureRegion[] regions = block.getBlockIcon(); @@ -28,41 +28,20 @@ public class Generators { } if(block.turretIcon){ - Color color = Color.ROYAL; - Image image = context.get(block.name); + Image image = ImageContext.get(block.name); - Image read = context.create(image.width(), image.height()); + Image read = ImageContext.create(image.width(), image.height()); read.draw(image); - for (int x = 0; x < image.width(); x++) { - for (int y = 0; y < image.height(); y++) { - if(read.isEmpty(x, y) && - (!read.isEmpty(x, y + 1) || !read.isEmpty(x, y - 1) || !read.isEmpty(x + 1, y) || !read.isEmpty(x - 1, y))){ - image.draw(x, y, color); - } - } - } - - Image base = context.get("block-" + block.size); - Image top = context.get("block-" + block.size + "-top"); - - for (int x = 0; x < base.width(); x++) { - for (int y = 0; y < base.height(); y++) { - Color result = top.getColor(x, y); - if(result.a > 0.01f){ - result.lerp(color, 0.45f); - base.draw(x, y, result); - } - } - } + Image base = ImageContext.get("block-" + block.size); base.draw(image); base.save("block-icon-" + block.name); }else { - Image image = context.get(regions[0]); + Image image = ImageContext.get(regions[0]); for (TextureRegion region : regions) { image.draw(region); @@ -73,13 +52,13 @@ public class Generators { } }); - context.generate("mech-icons", () -> { + ImageContext.generate("mech-icons", () -> { for(Mech mech : content.getBy(ContentType.mech)){ mech.load(); mech.weapon.load(); - Image image = context.get(mech.region); + Image image = ImageContext.get(mech.region); if(!mech.flying){ image.drawCenter(mech.baseRegion); @@ -98,13 +77,13 @@ public class Generators { } }); - context.generate("unit-icons", () -> { + ImageContext.generate("unit-icons", () -> { for(UnitType type : content.getBy(ContentType.unit)){ type.load(); type.weapon.load(); - Image image = context.get(type.region); + Image image = ImageContext.get(type.region); if(!type.isFlying){ image.draw(type.baseRegion); @@ -126,9 +105,9 @@ public class Generators { } }); - context.generate("liquid-icons", () -> { + ImageContext.generate("liquid-icons", () -> { for(Liquid liquid : content.liquids()){ - Image image = context.get("liquid-icon"); + Image image = ImageContext.get("liquid-icon"); for (int x = 0; x < image.width(); x++) { for (int y = 0; y < image.height(); y++) { Color color = image.getColor(x, y); @@ -141,17 +120,17 @@ public class Generators { } }); - context.generate("block-edges", () -> { + ImageContext.generate("block-edges", () -> { for(Block block : content.blocks()){ if(!(block instanceof Floor)) continue; Floor floor = (Floor)block; if(floor.getIcon().length > 0 && !Core.atlas.has(floor.name + "-cliff-side")){ - Image floori = context.get(floor.getIcon()[0]); + Image floori = ImageContext.get(floor.getIcon()[0]); Color color = floori.getColor(0, 0).mul(1.3f, 1.3f, 1.3f, 1f); String[] names = {"cliff-edge-2", "cliff-edge", "cliff-edge-1", "cliff-side"}; for(String str : names){ - Image image = context.get("generic-" + str); + Image image = ImageContext.get("generic-" + str); for(int x = 0; x < image.width(); x++){ for(int y = 0; y < image.height(); y++){ @@ -168,7 +147,7 @@ public class Generators { } }); - context.generate("ore-icons", () -> { + ImageContext.generate("ore-icons", () -> { for(Block block : content.blocks()){ if(!(block instanceof OreBlock)) continue; @@ -178,12 +157,14 @@ public class Generators { for (int i = 0; i < 3; i++) { //get base image to draw on - Image image = context.get(base.name + (i+1)); - Image shadow = context.get(item.name + (i+1)); + Image image = ImageContext.get(base.name + (i+1)); + Image shadow = ImageContext.get(item.name + (i+1)); + + int offset = 3; for (int x = 0; x < image.width(); x++) { - for (int y = 1; y < image.height(); y++) { - Color color = shadow.getColor(x, y - 1); + for (int y = offset; y < image.height(); y++) { + Color color = shadow.getColor(x, y - offset); //draw semi transparent background if(color.a > 0.001f){ @@ -193,7 +174,7 @@ public class Generators { } } - image.draw(context.get(item.name + (i+1))); + image.draw(ImageContext.get(item.name + (i+1))); image.save("ore-" + item.name + "-" + base.name + (i+1)); } diff --git a/tools/src/io/anuke/mindustry/Image.java b/tools/src/io/anuke/mindustry/Image.java index 13a8b61848..387fcce9d8 100644 --- a/tools/src/io/anuke/mindustry/Image.java +++ b/tools/src/io/anuke/mindustry/Image.java @@ -14,27 +14,26 @@ import java.util.ArrayList; public class Image { private static ArrayList toDispose = new ArrayList<>(); - private BufferedImage atlas; - private BufferedImage image; private Graphics2D graphics; private Color color = new Color(); - public Image(BufferedImage atlas, TextureRegion region){ - this(atlas, region.getWidth(), region.getHeight()); - - draw(region); + public Image(TextureRegion region){ + this(ImageContext.buf(region)); } - public Image(BufferedImage atlas, int width, int height){ - this.atlas = atlas; - - this.image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); + public Image(BufferedImage src){ + this.image = new BufferedImage(src.getWidth(), src.getHeight(), BufferedImage.TYPE_INT_ARGB); this.graphics = image.createGraphics(); + this.graphics.drawImage(src, 0, 0, null); toDispose.add(this); } + public Image(int width, int height){ + this(new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB)); + } + public int width(){ return image.getWidth(); } @@ -106,14 +105,14 @@ public class Image { y = 0; } - graphics.drawImage(atlas, + graphics.drawImage(ImageContext.get(region).image, x, y, x + region.getWidth(), y + region.getHeight(), - (flipx ? region.getX() + region.getWidth() : region.getX()) + ofx, - (flipy ? region.getY() + region.getHeight() : region.getY()) + ofy, - (flipx ? region.getX() : region.getX() + region.getWidth()) + ofx, - (flipy ? region.getY() : region.getY() + region.getHeight()) + ofy, + (flipx ? region.getWidth() : 0) + ofx, + (flipy ? region.getHeight() : 0) + ofy, + (flipx ? 0 : region.getWidth()) + ofx, + (flipy ? 0 : region.getHeight()) + ofy, null); } diff --git a/tools/src/io/anuke/mindustry/ImageContext.java b/tools/src/io/anuke/mindustry/ImageContext.java index 38c6720ce7..fee0752c7d 100644 --- a/tools/src/io/anuke/mindustry/ImageContext.java +++ b/tools/src/io/anuke/mindustry/ImageContext.java @@ -12,70 +12,73 @@ import io.anuke.arc.util.Log; import io.anuke.arc.util.Log.LogHandler; import io.anuke.arc.util.Log.NoopLogHandler; import io.anuke.arc.util.Time; +import io.anuke.arc.Core; import io.anuke.mindustry.core.ContentLoader; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; -import java.io.File; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; public class ImageContext { - private BufferedImage image; + static ObjectMap regionCache = new ObjectMap<>(); + static ObjectMap imageCache = new ObjectMap<>(); - public void load() throws IOException{ + static void load() throws IOException{ Log.setLogger(new NoopLogHandler()); Vars.content = new ContentLoader(); Vars.content.load(); Log.setLogger(new LogHandler()); - String spritesFolder = new File("../../../assets/sprites").getAbsolutePath(); - TextureAtlasData data = new TextureAtlasData(new FileHandle(spritesFolder + "/sprites.atlas"), - new FileHandle(spritesFolder), false); + Files.walk(Paths.get("../../../assets-raw/sprites_out")).forEach(path -> { + try{ + if(Files.isDirectory(path)) return; - ObjectMap regionCache = new ObjectMap<>(); + String fname = path.getFileName().toString(); + fname = fname.substring(0, fname.length() - 4); - for(Region region : data.getRegions()){ - int x = region.left, y = region.top, width = region.width, height = region.height; + BufferedImage image = ImageIO.read(path.toFile()); + GenRegion region = new GenRegion(fname){ - regionCache.put(region.name, new GenRegion(){ - { - name = region.name; - context = ImageContext.this; - } + @Override + public int getX(){ + return 0; + } - @Override - public int getX(){ - return x; - } + @Override + public int getY(){ + return 0; + } - @Override - public int getY(){ - return y; - } + @Override + public int getWidth(){ + return image.getWidth(); + } - @Override - public int getWidth(){ - return width; - } + @Override + public int getHeight(){ + return image.getHeight(); + } + }; - @Override - public int getHeight(){ - return height; - } - }); - } + regionCache.put(fname, region); + imageCache.put(region, image); + + }catch(IOException e){ + e.printStackTrace(); + } + }); Core.atlas = new TextureAtlas(){ @Override public AtlasRegion find(String name){ if(!regionCache.containsKey(name)){ - GenRegion region = new GenRegion(); - region.name = name; - region.context = ImageContext.this; + GenRegion region = new GenRegion(name); region.invalid = true; return region; } - return regionCache.get(name); + return (AtlasRegion)regionCache.get(name); } @Override @@ -83,31 +86,33 @@ public class ImageContext { return regionCache.containsKey(s); } }; - - image = ImageIO.read(new File(spritesFolder + "/sprites.png")); } - public void generate(String name, Runnable run){ + static void generate(String name, Runnable run){ Time.mark(); run.run(); Log.info("&ly[Generator]&lc Time to generate &lm{0}&lc: &lg{1}&lcms", name, Time.elapsed()); } - public Image create(int width, int height){ - return new Image(image, width, height); + static BufferedImage buf(TextureRegion region){ + return imageCache.get(region); } - public Image get(String name){ + static Image create(int width, int height){ + return new Image(width, height); + } + + static Image get(String name){ return get(Core.atlas.find(name)); } - public Image get(TextureRegion region){ + static Image get(TextureRegion region){ GenRegion.validate(region); - return new Image(image, region); + return new Image(imageCache.get(region)); } - public void err(String message, Object... args){ + static void err(String message, Object... args){ Log.err(message, args); System.exit(-1); }