Update regular layer building descriptions, update artwork

This commit is contained in:
tobspr 2020-09-23 15:20:12 +02:00
parent 1f12e755a9
commit e040a47195
29 changed files with 772 additions and 742 deletions

View File

@ -72,7 +72,8 @@ function gulptasksCSS($, gulp, buildFolder, browserSync) {
)
.pipe($.rename("async-resources.css"))
.pipe($.postcss(postcssPlugins(isProd, { cachebust })))
.pipe(gulp.dest(buildFolder));
.pipe(gulp.dest(buildFolder))
.pipe(browserSync.stream());
}
// Builds the css resources
@ -104,7 +105,8 @@ function gulptasksCSS($, gulp, buildFolder, browserSync) {
])
)
.pipe($.postcss(postcssPlugins(isProd, { cachebust })))
.pipe(gulp.dest(buildFolder));
.pipe(gulp.dest(buildFolder))
.pipe(browserSync.stream());
}
// Builds the css main

View File

@ -1,325 +1,325 @@
/* eslint-disable */
require("colors");
const gulp = require("gulp");
const browserSync = require("browser-sync").create({});
const path = require("path");
const deleteEmpty = require("delete-empty");
const execSync = require("child_process").execSync;
const lfsOutput = execSync("git lfs install", { encoding: "utf-8" });
if (!lfsOutput.toLowerCase().includes("git lfs initialized")) {
console.error(`
Git LFS is not installed, unable to build.
To install Git LFS on Linux:
- Arch:
sudo pacman -S git-lfs
- Debian/Ubuntu:
sudo apt install git-lfs
For other systems, see:
https://github.com/git-lfs/git-lfs/wiki/Installation
`);
process.exit(1);
}
// Load other plugins dynamically
const $ = require("gulp-load-plugins")({
scope: ["devDependencies"],
pattern: "*",
});
// Check environment variables
const envVars = [
"SHAPEZ_CLI_SERVER_HOST",
// "SHAPEZ_CLI_PHONEGAP_KEY",
"SHAPEZ_CLI_ALPHA_FTP_USER",
"SHAPEZ_CLI_ALPHA_FTP_PW",
"SHAPEZ_CLI_STAGING_FTP_USER",
"SHAPEZ_CLI_STAGING_FTP_PW",
"SHAPEZ_CLI_LIVE_FTP_USER",
"SHAPEZ_CLI_LIVE_FTP_PW",
];
for (let i = 0; i < envVars.length; ++i) {
if (!process.env[envVars[i]]) {
console.warn("Please set", envVars[i]);
// process.exit(1);
}
}
const baseDir = path.join(__dirname, "..");
const buildFolder = path.join(baseDir, "build");
const imgres = require("./image-resources");
imgres.gulptasksImageResources($, gulp, buildFolder);
const css = require("./css");
css.gulptasksCSS($, gulp, buildFolder, browserSync);
const sounds = require("./sounds");
sounds.gulptasksSounds($, gulp, buildFolder);
const js = require("./js");
js.gulptasksJS($, gulp, buildFolder, browserSync);
const html = require("./html");
html.gulptasksHTML($, gulp, buildFolder, browserSync);
const ftp = require("./ftp");
ftp.gulptasksFTP($, gulp, buildFolder);
const docs = require("./docs");
docs.gulptasksDocs($, gulp, buildFolder);
const standalone = require("./standalone");
standalone.gulptasksStandalone($, gulp, buildFolder);
const translations = require("./translations");
translations.gulptasksTranslations($, gulp, buildFolder);
// FIXME
// const cordova = require("./cordova");
// cordova.gulptasksCordova($, gulp, buildFolder);
///////////////////// BUILD TASKS /////////////////////
// Cleans up everything
gulp.task("utils.cleanBuildFolder", () => {
return gulp.src(buildFolder, { read: false, allowEmpty: true }).pipe($.clean({ force: true }));
});
gulp.task("utils.cleanBuildTempFolder", () => {
return gulp
.src(path.join(__dirname, "..", "src", "js", "built-temp"), { read: false, allowEmpty: true })
.pipe($.clean({ force: true }));
});
gulp.task("utils.cleanup", gulp.series("utils.cleanBuildFolder", "utils.cleanBuildTempFolder"));
// Requires no uncomitted files
gulp.task("utils.requireCleanWorkingTree", cb => {
let output = $.trim(execSync("git status -su").toString("ascii")).replace(/\r/gi, "").split("\n");
// Filter files which are OK to be untracked
output = output
.map(x => x.replace(/[\r\n]+/gi, ""))
.filter(x => x.indexOf(".local.js") < 0)
.filter(x => x.length > 0);
if (output.length > 0) {
console.error("\n\nYou have unstaged changes, please commit everything first!");
console.error("Unstaged files:");
console.error(output.map(x => "'" + x + "'").join("\n"));
process.exit(1);
}
cb();
});
gulp.task("utils.copyAdditionalBuildFiles", cb => {
const additionalFolder = path.join("additional_build_files");
const additionalSrcGlobs = [
path.join(additionalFolder, "**/*.*"),
path.join(additionalFolder, "**/.*"),
path.join(additionalFolder, "**/*"),
];
return gulp.src(additionalSrcGlobs).pipe(gulp.dest(buildFolder));
});
// Starts a webserver on the built directory (useful for testing prod build)
gulp.task("main.webserver", () => {
return gulp.src(buildFolder).pipe(
$.webserver({
livereload: {
enable: true,
},
directoryListing: false,
open: true,
port: 3005,
})
);
});
function serve({ standalone }) {
browserSync.init({
server: buildFolder,
port: 3005,
ghostMode: {
clicks: false,
scroll: false,
location: false,
forms: false,
},
logLevel: "info",
logPrefix: "BS",
online: false,
xip: false,
notify: false,
reloadDebounce: 100,
reloadOnRestart: true,
watchEvents: ["add", "change"],
});
// Watch .scss files, those trigger a css rebuild
gulp.watch(["../src/**/*.scss"], gulp.series("css.dev"));
// Watch .html files, those trigger a html rebuild
gulp.watch("../src/**/*.html", gulp.series(standalone ? "html.standalone-dev" : "html.dev"));
// Watch sound files
// gulp.watch(["../res_raw/sounds/**/*.mp3", "../res_raw/sounds/**/*.wav"], gulp.series("sounds.dev"));
// Watch translations
gulp.watch("../translations/**/*.yaml", gulp.series("translations.convertToJson"));
gulp.watch(
["../res_raw/sounds/sfx/*.mp3", "../res_raw/sounds/sfx/*.wav"],
gulp.series("sounds.sfx", "sounds.copy")
);
gulp.watch(
["../res_raw/sounds/music/*.mp3", "../res_raw/sounds/music/*.wav"],
gulp.series("sounds.music", "sounds.copy")
);
// Watch resource files and copy them on change
gulp.watch(imgres.nonImageResourcesGlobs, gulp.series("imgres.copyNonImageResources"));
gulp.watch(imgres.imageResourcesGlobs, gulp.series("imgres.copyImageResources"));
// Watch .atlas files and recompile the atlas on change
gulp.watch("../res_built/atlas/*.json", gulp.series("imgres.atlas"));
// Watch the build folder and reload when anything changed
const extensions = ["html", "js", "png", "gif", "jpg", "svg", "mp3", "ico", "woff2", "json"];
gulp.watch(extensions.map(ext => path.join(buildFolder, "**", "*." + ext))).on("change", function (path) {
return gulp.src(path).pipe(browserSync.reload({ stream: true }));
});
gulp.watch("../src/js/built-temp/*.json").on("change", function (path) {
return gulp.src(path).pipe(browserSync.reload({ stream: true }));
});
// Start the webpack watching server (Will never return)
if (standalone) {
gulp.series("js.standalone-dev.watch")(() => true);
} else {
gulp.series("js.dev.watch")(() => true);
}
}
///////////////////// RUNNABLE TASKS /////////////////////
// Pre and postbuild
gulp.task("step.baseResources", gulp.series("imgres.allOptimized"));
gulp.task("step.deleteEmpty", cb => {
deleteEmpty.sync(buildFolder);
cb();
});
gulp.task("step.postbuild", gulp.series("imgres.cleanupUnusedCssInlineImages", "step.deleteEmpty"));
// Builds everything (dev)
gulp.task(
"build.dev",
gulp.series(
"utils.cleanup",
"utils.copyAdditionalBuildFiles",
"imgres.atlas",
"sounds.dev",
"imgres.copyImageResources",
"imgres.copyNonImageResources",
"translations.fullBuild",
"css.dev",
"html.dev"
)
);
// Builds everything (standalone -dev)
gulp.task(
"build.standalone.dev",
gulp.series(
"utils.cleanup",
"imgres.atlas",
"sounds.dev",
"imgres.copyImageResources",
"imgres.copyNonImageResources",
"translations.fullBuild",
"js.standalone-dev",
"css.dev",
"html.standalone-dev"
)
);
// Builds everything (staging)
gulp.task("step.staging.code", gulp.series("sounds.fullbuild", "translations.fullBuild", "js.staging"));
gulp.task(
"step.staging.mainbuild",
gulp.parallel("utils.copyAdditionalBuildFiles", "step.baseResources", "step.staging.code")
);
gulp.task("step.staging.all", gulp.series("step.staging.mainbuild", "css.prod", "html.staging"));
gulp.task("build.staging", gulp.series("utils.cleanup", "step.staging.all", "step.postbuild"));
// Builds everything (prod)
gulp.task("step.prod.code", gulp.series("sounds.fullbuild", "translations.fullBuild", "js.prod"));
gulp.task(
"step.prod.mainbuild",
gulp.parallel("utils.copyAdditionalBuildFiles", "step.baseResources", "step.prod.code")
);
gulp.task("step.prod.all", gulp.series("step.prod.mainbuild", "css.prod", "html.prod"));
gulp.task("build.prod", gulp.series("utils.cleanup", "step.prod.all", "step.postbuild"));
// Builds everything (standalone-beta)
gulp.task(
"step.standalone-beta.code",
gulp.series("sounds.fullbuildHQ", "translations.fullBuild", "js.standalone-beta")
);
gulp.task("step.standalone-beta.mainbuild", gulp.parallel("step.baseResources", "step.standalone-beta.code"));
gulp.task(
"step.standalone-beta.all",
gulp.series("step.standalone-beta.mainbuild", "css.prod-standalone", "html.standalone-beta")
);
gulp.task(
"build.standalone-beta",
gulp.series("utils.cleanup", "step.standalone-beta.all", "step.postbuild")
);
// Builds everything (standalone-prod)
gulp.task(
"step.standalone-prod.code",
gulp.series("sounds.fullbuildHQ", "translations.fullBuild", "js.standalone-prod")
);
gulp.task("step.standalone-prod.mainbuild", gulp.parallel("step.baseResources", "step.standalone-prod.code"));
gulp.task(
"step.standalone-prod.all",
gulp.series("step.standalone-prod.mainbuild", "css.prod-standalone", "html.standalone-prod")
);
gulp.task(
"build.standalone-prod",
gulp.series("utils.cleanup", "step.standalone-prod.all", "step.postbuild")
);
// Deploying!
gulp.task(
"main.deploy.alpha",
gulp.series("utils.requireCleanWorkingTree", "build.staging", "ftp.upload.alpha")
);
gulp.task(
"main.deploy.staging",
gulp.series("utils.requireCleanWorkingTree", "build.staging", "ftp.upload.staging")
);
gulp.task("main.deploy.prod", gulp.series("utils.requireCleanWorkingTree", "build.prod", "ftp.upload.prod"));
gulp.task("main.deploy.all", gulp.series("main.deploy.staging", "main.deploy.prod"));
gulp.task("main.standalone", gulp.series("build.standalone-prod", "standalone.package.prod"));
// Live-development
gulp.task(
"main.serveDev",
gulp.series("build.dev", () => serve({ standalone: false }))
);
gulp.task(
"main.serveStandalone",
gulp.series("build.standalone.dev", () => serve({ standalone: true }))
);
gulp.task("default", gulp.series("main.serveDev"));
/* eslint-disable */
require("colors");
const gulp = require("gulp");
const browserSync = require("browser-sync").create({});
const path = require("path");
const deleteEmpty = require("delete-empty");
const execSync = require("child_process").execSync;
const lfsOutput = execSync("git lfs install", { encoding: "utf-8" });
if (!lfsOutput.toLowerCase().includes("git lfs initialized")) {
console.error(`
Git LFS is not installed, unable to build.
To install Git LFS on Linux:
- Arch:
sudo pacman -S git-lfs
- Debian/Ubuntu:
sudo apt install git-lfs
For other systems, see:
https://github.com/git-lfs/git-lfs/wiki/Installation
`);
process.exit(1);
}
// Load other plugins dynamically
const $ = require("gulp-load-plugins")({
scope: ["devDependencies"],
pattern: "*",
});
// Check environment variables
const envVars = [
"SHAPEZ_CLI_SERVER_HOST",
// "SHAPEZ_CLI_PHONEGAP_KEY",
"SHAPEZ_CLI_ALPHA_FTP_USER",
"SHAPEZ_CLI_ALPHA_FTP_PW",
"SHAPEZ_CLI_STAGING_FTP_USER",
"SHAPEZ_CLI_STAGING_FTP_PW",
"SHAPEZ_CLI_LIVE_FTP_USER",
"SHAPEZ_CLI_LIVE_FTP_PW",
];
for (let i = 0; i < envVars.length; ++i) {
if (!process.env[envVars[i]]) {
console.warn("Please set", envVars[i]);
// process.exit(1);
}
}
const baseDir = path.join(__dirname, "..");
const buildFolder = path.join(baseDir, "build");
const imgres = require("./image-resources");
imgres.gulptasksImageResources($, gulp, buildFolder);
const css = require("./css");
css.gulptasksCSS($, gulp, buildFolder, browserSync);
const sounds = require("./sounds");
sounds.gulptasksSounds($, gulp, buildFolder);
const js = require("./js");
js.gulptasksJS($, gulp, buildFolder, browserSync);
const html = require("./html");
html.gulptasksHTML($, gulp, buildFolder, browserSync);
const ftp = require("./ftp");
ftp.gulptasksFTP($, gulp, buildFolder);
const docs = require("./docs");
docs.gulptasksDocs($, gulp, buildFolder);
const standalone = require("./standalone");
standalone.gulptasksStandalone($, gulp, buildFolder);
const translations = require("./translations");
translations.gulptasksTranslations($, gulp, buildFolder);
// FIXME
// const cordova = require("./cordova");
// cordova.gulptasksCordova($, gulp, buildFolder);
///////////////////// BUILD TASKS /////////////////////
// Cleans up everything
gulp.task("utils.cleanBuildFolder", () => {
return gulp.src(buildFolder, { read: false, allowEmpty: true }).pipe($.clean({ force: true }));
});
gulp.task("utils.cleanBuildTempFolder", () => {
return gulp
.src(path.join(__dirname, "..", "src", "js", "built-temp"), { read: false, allowEmpty: true })
.pipe($.clean({ force: true }));
});
gulp.task("utils.cleanup", gulp.series("utils.cleanBuildFolder", "utils.cleanBuildTempFolder"));
// Requires no uncomitted files
gulp.task("utils.requireCleanWorkingTree", cb => {
let output = $.trim(execSync("git status -su").toString("ascii")).replace(/\r/gi, "").split("\n");
// Filter files which are OK to be untracked
output = output
.map(x => x.replace(/[\r\n]+/gi, ""))
.filter(x => x.indexOf(".local.js") < 0)
.filter(x => x.length > 0);
if (output.length > 0) {
console.error("\n\nYou have unstaged changes, please commit everything first!");
console.error("Unstaged files:");
console.error(output.map(x => "'" + x + "'").join("\n"));
process.exit(1);
}
cb();
});
gulp.task("utils.copyAdditionalBuildFiles", cb => {
const additionalFolder = path.join("additional_build_files");
const additionalSrcGlobs = [
path.join(additionalFolder, "**/*.*"),
path.join(additionalFolder, "**/.*"),
path.join(additionalFolder, "**/*"),
];
return gulp.src(additionalSrcGlobs).pipe(gulp.dest(buildFolder));
});
// Starts a webserver on the built directory (useful for testing prod build)
gulp.task("main.webserver", () => {
return gulp.src(buildFolder).pipe(
$.webserver({
livereload: {
enable: true,
},
directoryListing: false,
open: true,
port: 3005,
})
);
});
function serve({ standalone }) {
browserSync.init({
server: buildFolder,
port: 3005,
ghostMode: {
clicks: false,
scroll: false,
location: false,
forms: false,
},
logLevel: "info",
logPrefix: "BS",
online: false,
xip: false,
notify: false,
reloadDebounce: 100,
reloadOnRestart: true,
watchEvents: ["add", "change"],
});
// Watch .scss files, those trigger a css rebuild
gulp.watch(["../src/**/*.scss"], gulp.series("css.dev"));
// Watch .html files, those trigger a html rebuild
gulp.watch("../src/**/*.html", gulp.series(standalone ? "html.standalone-dev" : "html.dev"));
// Watch sound files
// gulp.watch(["../res_raw/sounds/**/*.mp3", "../res_raw/sounds/**/*.wav"], gulp.series("sounds.dev"));
// Watch translations
gulp.watch("../translations/**/*.yaml", gulp.series("translations.convertToJson"));
gulp.watch(
["../res_raw/sounds/sfx/*.mp3", "../res_raw/sounds/sfx/*.wav"],
gulp.series("sounds.sfx", "sounds.copy")
);
gulp.watch(
["../res_raw/sounds/music/*.mp3", "../res_raw/sounds/music/*.wav"],
gulp.series("sounds.music", "sounds.copy")
);
// Watch resource files and copy them on change
gulp.watch(imgres.nonImageResourcesGlobs, gulp.series("imgres.copyNonImageResources"));
gulp.watch(imgres.imageResourcesGlobs, gulp.series("imgres.copyImageResources"));
// Watch .atlas files and recompile the atlas on change
gulp.watch("../res_built/atlas/*.json", gulp.series("imgres.atlas"));
// Watch the build folder and reload when anything changed
const extensions = ["html", "js", "png", "gif", "jpg", "svg", "mp3", "ico", "woff2", "json"];
gulp.watch(extensions.map(ext => path.join(buildFolder, "**", "*." + ext))).on("change", function (path) {
return gulp.src(path).pipe(browserSync.reload({ stream: true }));
});
gulp.watch("../src/js/built-temp/*.json").on("change", function (path) {
return gulp.src(path).pipe(browserSync.reload({ stream: true }));
});
// Start the webpack watching server (Will never return)
if (standalone) {
gulp.series("js.standalone-dev.watch")(() => true);
} else {
gulp.series("js.dev.watch")(() => true);
}
}
///////////////////// RUNNABLE TASKS /////////////////////
// Pre and postbuild
gulp.task("step.baseResources", gulp.series("imgres.allOptimized"));
gulp.task("step.deleteEmpty", cb => {
deleteEmpty.sync(buildFolder);
cb();
});
gulp.task("step.postbuild", gulp.series("imgres.cleanupUnusedCssInlineImages", "step.deleteEmpty"));
// Builds everything (dev)
gulp.task(
"build.dev",
gulp.series(
"utils.cleanup",
"utils.copyAdditionalBuildFiles",
"imgres.atlas",
"sounds.dev",
"imgres.copyImageResources",
"imgres.copyNonImageResources",
"translations.fullBuild",
"css.dev",
"html.dev"
)
);
// Builds everything (standalone -dev)
gulp.task(
"build.standalone.dev",
gulp.series(
"utils.cleanup",
"imgres.atlas",
"sounds.dev",
"imgres.copyImageResources",
"imgres.copyNonImageResources",
"translations.fullBuild",
"js.standalone-dev",
"css.dev",
"html.standalone-dev"
)
);
// Builds everything (staging)
gulp.task("step.staging.code", gulp.series("sounds.fullbuild", "translations.fullBuild", "js.staging"));
gulp.task(
"step.staging.mainbuild",
gulp.parallel("utils.copyAdditionalBuildFiles", "step.baseResources", "step.staging.code")
);
gulp.task("step.staging.all", gulp.series("step.staging.mainbuild", "css.prod", "html.staging"));
gulp.task("build.staging", gulp.series("utils.cleanup", "step.staging.all", "step.postbuild"));
// Builds everything (prod)
gulp.task("step.prod.code", gulp.series("sounds.fullbuild", "translations.fullBuild", "js.prod"));
gulp.task(
"step.prod.mainbuild",
gulp.parallel("utils.copyAdditionalBuildFiles", "step.baseResources", "step.prod.code")
);
gulp.task("step.prod.all", gulp.series("step.prod.mainbuild", "css.prod", "html.prod"));
gulp.task("build.prod", gulp.series("utils.cleanup", "step.prod.all", "step.postbuild"));
// Builds everything (standalone-beta)
gulp.task(
"step.standalone-beta.code",
gulp.series("sounds.fullbuildHQ", "translations.fullBuild", "js.standalone-beta")
);
gulp.task("step.standalone-beta.mainbuild", gulp.parallel("step.baseResources", "step.standalone-beta.code"));
gulp.task(
"step.standalone-beta.all",
gulp.series("step.standalone-beta.mainbuild", "css.prod-standalone", "html.standalone-beta")
);
gulp.task(
"build.standalone-beta",
gulp.series("utils.cleanup", "step.standalone-beta.all", "step.postbuild")
);
// Builds everything (standalone-prod)
gulp.task(
"step.standalone-prod.code",
gulp.series("sounds.fullbuildHQ", "translations.fullBuild", "js.standalone-prod")
);
gulp.task("step.standalone-prod.mainbuild", gulp.parallel("step.baseResources", "step.standalone-prod.code"));
gulp.task(
"step.standalone-prod.all",
gulp.series("step.standalone-prod.mainbuild", "css.prod-standalone", "html.standalone-prod")
);
gulp.task(
"build.standalone-prod",
gulp.series("utils.cleanup", "step.standalone-prod.all", "step.postbuild")
);
// Deploying!
gulp.task(
"main.deploy.alpha",
gulp.series("utils.requireCleanWorkingTree", "build.staging", "ftp.upload.alpha")
);
gulp.task(
"main.deploy.staging",
gulp.series("utils.requireCleanWorkingTree", "build.staging", "ftp.upload.staging")
);
gulp.task("main.deploy.prod", gulp.series("utils.requireCleanWorkingTree", "build.prod", "ftp.upload.prod"));
gulp.task("main.deploy.all", gulp.series("main.deploy.staging", "main.deploy.prod"));
gulp.task("main.standalone", gulp.series("build.standalone-prod", "standalone.package.prod"));
// Live-development
gulp.task(
"main.serveDev",
gulp.series("build.dev", () => serve({ standalone: false }))
);
gulp.task(
"main.serveStandalone",
gulp.series("build.standalone.dev", () => serve({ standalone: true }))
);
gulp.task("default", gulp.series("main.serveDev"));

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

@ -2,7 +2,7 @@
"sprites/belt/built/forward_0.png":
{
"frame": {"x":1867,"y":593,"w":116,"h":144},
"frame": {"x":1239,"y":1197,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -10,7 +10,7 @@
},
"sprites/belt/built/forward_1.png":
{
"frame": {"x":1241,"y":1197,"w":116,"h":144},
"frame": {"x":1361,"y":1195,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -18,7 +18,7 @@
},
"sprites/belt/built/forward_2.png":
{
"frame": {"x":1558,"y":753,"w":116,"h":144},
"frame": {"x":1436,"y":753,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -26,7 +26,7 @@
},
"sprites/belt/built/forward_3.png":
{
"frame": {"x":1555,"y":903,"w":116,"h":144},
"frame": {"x":1433,"y":903,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -34,7 +34,7 @@
},
"sprites/belt/built/forward_4.png":
{
"frame": {"x":1562,"y":1053,"w":116,"h":144},
"frame": {"x":1483,"y":1195,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -42,7 +42,7 @@
},
"sprites/belt/built/forward_5.png":
{
"frame": {"x":1680,"y":753,"w":116,"h":144},
"frame": {"x":1501,"y":1345,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -50,7 +50,7 @@
},
"sprites/belt/built/forward_6.png":
{
"frame": {"x":1677,"y":903,"w":116,"h":144},
"frame": {"x":1510,"y":1495,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -58,7 +58,7 @@
},
"sprites/belt/built/forward_7.png":
{
"frame": {"x":1684,"y":1053,"w":116,"h":144},
"frame": {"x":1555,"y":903,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -66,7 +66,7 @@
},
"sprites/belt/built/forward_8.png":
{
"frame": {"x":1802,"y":743,"w":116,"h":144},
"frame": {"x":1696,"y":1053,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -74,7 +74,7 @@
},
"sprites/belt/built/forward_9.png":
{
"frame": {"x":1924,"y":743,"w":116,"h":144},
"frame": {"x":1623,"y":1339,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -82,7 +82,7 @@
},
"sprites/belt/built/forward_10.png":
{
"frame": {"x":1363,"y":1195,"w":116,"h":144},
"frame": {"x":1379,"y":1345,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -90,7 +90,7 @@
},
"sprites/belt/built/forward_11.png":
{
"frame": {"x":845,"y":1548,"w":116,"h":144},
"frame": {"x":706,"y":1711,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -98,7 +98,7 @@
},
"sprites/belt/built/forward_12.png":
{
"frame": {"x":1436,"y":753,"w":116,"h":144},
"frame": {"x":1861,"y":593,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -106,7 +106,7 @@
},
"sprites/belt/built/forward_13.png":
{
"frame": {"x":1433,"y":903,"w":116,"h":144},
"frame": {"x":1875,"y":743,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -114,7 +114,7 @@
},
"sprites/belt/built/left_0.png":
{
"frame": {"x":570,"y":1845,"w":130,"h":130},
"frame": {"x":1238,"y":1464,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -122,7 +122,7 @@
},
"sprites/belt/built/left_1.png":
{
"frame": {"x":1426,"y":1053,"w":130,"h":130},
"frame": {"x":1374,"y":1495,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -130,7 +130,7 @@
},
"sprites/belt/built/left_2.png":
{
"frame": {"x":1893,"y":1189,"w":130,"h":130},
"frame": {"x":1741,"y":1203,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -138,7 +138,7 @@
},
"sprites/belt/built/left_3.png":
{
"frame": {"x":1241,"y":1347,"w":130,"h":130},
"frame": {"x":1745,"y":1339,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -146,7 +146,7 @@
},
"sprites/belt/built/left_4.png":
{
"frame": {"x":1377,"y":1345,"w":130,"h":130},
"frame": {"x":1754,"y":1475,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -154,7 +154,7 @@
},
"sprites/belt/built/left_5.png":
{
"frame": {"x":1513,"y":1339,"w":130,"h":130},
"frame": {"x":1813,"y":917,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -162,7 +162,7 @@
},
"sprites/belt/built/left_6.png":
{
"frame": {"x":1649,"y":1339,"w":130,"h":130},
"frame": {"x":1818,"y":1053,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -170,7 +170,7 @@
},
"sprites/belt/built/left_7.png":
{
"frame": {"x":1785,"y":1339,"w":130,"h":130},
"frame": {"x":1877,"y":1189,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -178,7 +178,7 @@
},
"sprites/belt/built/left_8.png":
{
"frame": {"x":1377,"y":1481,"w":130,"h":130},
"frame": {"x":1881,"y":1325,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -186,7 +186,7 @@
},
"sprites/belt/built/left_9.png":
{
"frame": {"x":1802,"y":1475,"w":130,"h":130},
"frame": {"x":1890,"y":1461,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -194,7 +194,7 @@
},
"sprites/belt/built/left_10.png":
{
"frame": {"x":1485,"y":1203,"w":130,"h":130},
"frame": {"x":939,"y":1712,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -202,7 +202,7 @@
},
"sprites/belt/built/left_11.png":
{
"frame": {"x":1621,"y":1203,"w":130,"h":130},
"frame": {"x":1677,"y":917,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -210,7 +210,7 @@
},
"sprites/belt/built/left_12.png":
{
"frame": {"x":1757,"y":1203,"w":130,"h":130},
"frame": {"x":1560,"y":1053,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -218,7 +218,7 @@
},
"sprites/belt/built/left_13.png":
{
"frame": {"x":1806,"y":1053,"w":130,"h":130},
"frame": {"x":1605,"y":1203,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -226,7 +226,7 @@
},
"sprites/belt/built/right_0.png":
{
"frame": {"x":1799,"y":1611,"w":130,"h":130},
"frame": {"x":1754,"y":1611,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -234,7 +234,7 @@
},
"sprites/belt/built/right_1.png":
{
"frame": {"x":294,"y":1885,"w":130,"h":130},
"frame": {"x":1890,"y":1597,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -242,7 +242,7 @@
},
"sprites/belt/built/right_2.png":
{
"frame": {"x":1239,"y":1483,"w":130,"h":130},
"frame": {"x":842,"y":1848,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -250,7 +250,7 @@
},
"sprites/belt/built/right_3.png":
{
"frame": {"x":998,"y":1785,"w":130,"h":130},
"frame": {"x":978,"y":1848,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -258,7 +258,7 @@
},
"sprites/belt/built/right_4.png":
{
"frame": {"x":1112,"y":1630,"w":130,"h":130},
"frame": {"x":1114,"y":1848,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -266,7 +266,7 @@
},
"sprites/belt/built/right_5.png":
{
"frame": {"x":1248,"y":1619,"w":130,"h":130},
"frame": {"x":271,"y":1885,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -274,7 +274,7 @@
},
"sprites/belt/built/right_6.png":
{
"frame": {"x":1134,"y":1766,"w":130,"h":130},
"frame": {"x":407,"y":1885,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -282,7 +282,7 @@
},
"sprites/belt/built/right_7.png":
{
"frame": {"x":1270,"y":1755,"w":130,"h":130},
"frame": {"x":1211,"y":1600,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -290,7 +290,7 @@
},
"sprites/belt/built/right_8.png":
{
"frame": {"x":1134,"y":1902,"w":130,"h":130},
"frame": {"x":1347,"y":1631,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -298,7 +298,7 @@
},
"sprites/belt/built/right_9.png":
{
"frame": {"x":1270,"y":1891,"w":130,"h":130},
"frame": {"x":1483,"y":1645,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -306,7 +306,7 @@
},
"sprites/belt/built/right_10.png":
{
"frame": {"x":430,"y":1885,"w":130,"h":130},
"frame": {"x":1075,"y":1712,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -314,7 +314,7 @@
},
"sprites/belt/built/right_11.png":
{
"frame": {"x":967,"y":1513,"w":130,"h":130},
"frame": {"x":1890,"y":1733,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -322,7 +322,7 @@
},
"sprites/belt/built/right_12.png":
{
"frame": {"x":976,"y":1649,"w":130,"h":130},
"frame": {"x":570,"y":1878,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -330,7 +330,7 @@
},
"sprites/belt/built/right_13.png":
{
"frame": {"x":1103,"y":1444,"w":130,"h":130},
"frame": {"x":706,"y":1861,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -378,7 +378,7 @@
},
"sprites/blueprints/belt_left.png":
{
"frame": {"x":1406,"y":1877,"w":130,"h":130},
"frame": {"x":1250,"y":1838,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -386,7 +386,7 @@
},
"sprites/blueprints/belt_right.png":
{
"frame": {"x":1542,"y":1710,"w":130,"h":130},
"frame": {"x":1726,"y":1747,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -394,7 +394,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":1799,"y":903,"w":116,"h":144},
"frame": {"x":1632,"y":1489,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -402,7 +402,7 @@
},
"sprites/blueprints/constant_signal.png":
{
"frame": {"x":1921,"y":1325,"w":105,"h":127},
"frame": {"x":828,"y":1709,"w":105,"h":127},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":0,"w":105,"h":127},
@ -426,7 +426,7 @@
},
"sprites/blueprints/display.png":
{
"frame": {"x":842,"y":1698,"w":128,"h":136},
"frame": {"x":1426,"y":1053,"w":128,"h":136},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":8,"y":8,"w":128,"h":136},
@ -442,10 +442,10 @@
},
"sprites/blueprints/lever.png":
{
"frame": {"x":1921,"y":893,"w":111,"h":129},
"frame": {"x":1719,"y":453,"w":100,"h":116},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":17,"y":4,"w":111,"h":129},
"spriteSourceSize": {"x":22,"y":9,"w":100,"h":116},
"sourceSize": {"w":144,"h":144}
},
"sprites/blueprints/logic_gate-not.png":
@ -482,7 +482,7 @@
},
"sprites/blueprints/logic_gate.png":
{
"frame": {"x":1821,"y":454,"w":144,"h":133},
"frame": {"x":1825,"y":454,"w":144,"h":133},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":144,"h":133},
@ -498,7 +498,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":1725,"y":593,"w":136,"h":143},
"frame": {"x":951,"y":1328,"w":136,"h":143},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":143},
@ -602,7 +602,7 @@
},
"sprites/blueprints/underground_belt_entry-tier2.png":
{
"frame": {"x":954,"y":1188,"w":138,"h":125},
"frame": {"x":806,"y":1461,"w":138,"h":125},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":19,"w":138,"h":125},
@ -610,7 +610,7 @@
},
"sprites/blueprints/underground_belt_entry.png":
{
"frame": {"x":954,"y":1319,"w":138,"h":112},
"frame": {"x":950,"y":1477,"w":138,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":32,"w":138,"h":112},
@ -618,7 +618,7 @@
},
"sprites/blueprints/underground_belt_exit-tier2.png":
{
"frame": {"x":1513,"y":1475,"w":139,"h":112},
"frame": {"x":661,"y":1460,"w":139,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":139,"h":112},
@ -626,7 +626,7 @@
},
"sprites/blueprints/underground_belt_exit.png":
{
"frame": {"x":1658,"y":1475,"w":138,"h":112},
"frame": {"x":1094,"y":1475,"w":138,"h":112},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":138,"h":112},
@ -666,7 +666,7 @@
},
"sprites/blueprints/virtual_processor-stacker.png":
{
"frame": {"x":570,"y":1695,"w":130,"h":144},
"frame": {"x":560,"y":1578,"w":130,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":130,"h":144},
@ -706,7 +706,7 @@
},
"sprites/blueprints/wire-turn.png":
{
"frame": {"x":557,"y":1456,"w":82,"h":82},
"frame": {"x":1386,"y":1767,"w":82,"h":82},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":62,"y":62,"w":82,"h":82},
@ -714,7 +714,7 @@
},
"sprites/blueprints/wire.png":
{
"frame": {"x":1980,"y":1028,"w":20,"h":144},
"frame": {"x":1954,"y":1033,"w":20,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":62,"y":0,"w":20,"h":144},
@ -778,7 +778,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":570,"y":1845,"w":130,"h":130},
"frame": {"x":1238,"y":1464,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
@ -786,7 +786,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":1799,"y":1611,"w":130,"h":130},
"frame": {"x":1754,"y":1611,"w":130,"h":130},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
@ -794,7 +794,7 @@
},
"sprites/buildings/belt_top.png":
{
"frame": {"x":1867,"y":593,"w":116,"h":144},
"frame": {"x":1239,"y":1197,"w":116,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
@ -802,7 +802,7 @@
},
"sprites/buildings/constant_signal.png":
{
"frame": {"x":1938,"y":1458,"w":104,"h":127},
"frame": {"x":696,"y":1578,"w":104,"h":127},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":0,"w":104,"h":127},
@ -826,7 +826,7 @@
},
"sprites/buildings/display.png":
{
"frame": {"x":842,"y":1840,"w":126,"h":135},
"frame": {"x":1558,"y":753,"w":126,"h":135},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":9,"w":126,"h":135},
@ -850,10 +850,10 @@
},
"sprites/buildings/lever.png":
{
"frame": {"x":1935,"y":1611,"w":109,"h":127},
"frame": {"x":557,"y":1456,"w":98,"h":114},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":18,"y":5,"w":109,"h":127},
"spriteSourceSize": {"x":23,"y":10,"w":98,"h":114},
"sourceSize": {"w":144,"h":144}
},
"sprites/buildings/logic_gate-not.png":
@ -906,7 +906,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":560,"y":1547,"w":136,"h":142},
"frame": {"x":1097,"y":1197,"w":136,"h":142},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":136,"h":142},
@ -1010,7 +1010,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":1098,"y":1197,"w":137,"h":124},
"frame": {"x":1093,"y":1345,"w":137,"h":124},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":20,"w":137,"h":124},
@ -1018,7 +1018,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":1098,"y":1327,"w":137,"h":111},
"frame": {"x":1236,"y":1347,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":33,"w":137,"h":111},
@ -1026,7 +1026,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":1513,"y":1593,"w":137,"h":111},
"frame": {"x":806,"y":1592,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":137,"h":111},
@ -1034,7 +1034,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":1656,"y":1593,"w":137,"h":111},
"frame": {"x":949,"y":1595,"w":137,"h":111},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":137,"h":111},
@ -1050,7 +1050,7 @@
},
"sprites/buildings/virtual_processor-painter.png":
{
"frame": {"x":706,"y":1688,"w":130,"h":144},
"frame": {"x":570,"y":1728,"w":130,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":130,"h":144},
@ -1074,7 +1074,7 @@
},
"sprites/buildings/virtual_processor-stacker.png":
{
"frame": {"x":706,"y":1838,"w":130,"h":144},
"frame": {"x":1725,"y":593,"w":130,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":14,"y":0,"w":130,"h":144},
@ -1114,7 +1114,7 @@
},
"sprites/buildings/wire-turn.png":
{
"frame": {"x":998,"y":1921,"w":81,"h":81},
"frame": {"x":1386,"y":1855,"w":81,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":63,"w":81,"h":81},
@ -1122,7 +1122,7 @@
},
"sprites/buildings/wire.png":
{
"frame": {"x":2006,"y":1028,"w":18,"h":144},
"frame": {"x":2026,"y":116,"w":18,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":0,"w":18,"h":144},
@ -1130,7 +1130,7 @@
},
"sprites/buildings/wire_tunnel-coating.png":
{
"frame": {"x":1942,"y":1028,"w":32,"h":134},
"frame": {"x":1949,"y":893,"w":32,"h":134},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":56,"y":5,"w":32,"h":134},
@ -1138,7 +1138,7 @@
},
"sprites/buildings/wire_tunnel.png":
{
"frame": {"x":702,"y":1548,"w":137,"h":134},
"frame": {"x":954,"y":1188,"w":137,"h":134},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":5,"w":137,"h":134},
@ -1146,7 +1146,7 @@
},
"sprites/colors/blue.png":
{
"frame": {"x":566,"y":1981,"w":54,"h":49},
"frame": {"x":960,"y":1984,"w":54,"h":49},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
@ -1154,7 +1154,7 @@
},
"sprites/colors/cyan.png":
{
"frame": {"x":626,"y":1981,"w":54,"h":49},
"frame": {"x":1020,"y":1984,"w":54,"h":49},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
@ -1162,7 +1162,7 @@
},
"sprites/colors/green.png":
{
"frame": {"x":686,"y":1988,"w":54,"h":49},
"frame": {"x":1080,"y":1984,"w":54,"h":49},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
@ -1170,7 +1170,7 @@
},
"sprites/colors/purple.png":
{
"frame": {"x":746,"y":1988,"w":54,"h":49},
"frame": {"x":1140,"y":1984,"w":54,"h":49},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
@ -1178,7 +1178,7 @@
},
"sprites/colors/red.png":
{
"frame": {"x":806,"y":1988,"w":54,"h":49},
"frame": {"x":1987,"y":928,"w":54,"h":49},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
@ -1186,7 +1186,7 @@
},
"sprites/colors/uncolored.png":
{
"frame": {"x":866,"y":1981,"w":54,"h":49},
"frame": {"x":1987,"y":983,"w":54,"h":49},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
@ -1194,7 +1194,7 @@
},
"sprites/colors/white.png":
{
"frame": {"x":1406,"y":1754,"w":54,"h":49},
"frame": {"x":1980,"y":1038,"w":54,"h":49},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
@ -1202,7 +1202,7 @@
},
"sprites/colors/yellow.png":
{
"frame": {"x":1406,"y":1809,"w":54,"h":49},
"frame": {"x":1980,"y":1093,"w":54,"h":49},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
@ -1210,7 +1210,7 @@
},
"sprites/debug/acceptor_slot.png":
{
"frame": {"x":1719,"y":555,"w":12,"h":12},
"frame": {"x":1719,"y":575,"w":12,"h":12},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":12,"h":12},
@ -1218,7 +1218,7 @@
},
"sprites/debug/ejector_slot.png":
{
"frame": {"x":1921,"y":1028,"w":12,"h":12},
"frame": {"x":1737,"y":575,"w":12,"h":12},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":12,"h":12},
@ -1226,7 +1226,7 @@
},
"sprites/misc/hub_direction_indicator.png":
{
"frame": {"x":1975,"y":266,"w":48,"h":48},
"frame": {"x":1386,"y":1942,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -1234,7 +1234,7 @@
},
"sprites/misc/processor_disabled.png":
{
"frame": {"x":1542,"y":1933,"w":78,"h":81},
"frame": {"x":1561,"y":1781,"w":78,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":10,"y":10,"w":78,"h":81},
@ -1242,7 +1242,7 @@
},
"sprites/misc/processor_disconnected.png":
{
"frame": {"x":1629,"y":1846,"w":65,"h":84},
"frame": {"x":1645,"y":1765,"w":65,"h":84},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":17,"y":8,"w":65,"h":84},
@ -1250,7 +1250,7 @@
},
"sprites/misc/reader_overlay.png":
{
"frame": {"x":951,"y":1437,"w":104,"h":70},
"frame": {"x":1250,"y":1974,"w":104,"h":70},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":38,"w":104,"h":70},
@ -1258,7 +1258,7 @@
},
"sprites/misc/slot_bad_arrow.png":
{
"frame": {"x":1626,"y":2009,"w":35,"h":35},
"frame": {"x":1980,"y":1148,"w":35,"h":35},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":35,"h":35},
@ -1266,7 +1266,7 @@
},
"sprites/misc/slot_good_arrow.png":
{
"frame": {"x":1198,"y":1580,"w":35,"h":39},
"frame": {"x":1766,"y":1883,"w":35,"h":39},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":0,"w":35,"h":39},
@ -1274,7 +1274,7 @@
},
"sprites/misc/storage_overlay.png":
{
"frame": {"x":1103,"y":1580,"w":89,"h":44},
"frame": {"x":865,"y":1984,"w":89,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":89,"h":44},
@ -1282,7 +1282,7 @@
},
"sprites/misc/waypoint.png":
{
"frame": {"x":1999,"y":116,"w":38,"h":48},
"frame": {"x":1414,"y":1996,"w":38,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":38,"h":48},
@ -1290,7 +1290,7 @@
},
"sprites/wires/boolean_false.png":
{
"frame": {"x":1061,"y":1437,"w":31,"h":41},
"frame": {"x":2013,"y":1189,"w":31,"h":41},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":9,"y":5,"w":31,"h":41},
@ -1298,7 +1298,7 @@
},
"sprites/wires/boolean_true.png":
{
"frame": {"x":1471,"y":1617,"w":22,"h":41},
"frame": {"x":1862,"y":1747,"w":22,"h":41},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":11,"y":5,"w":22,"h":41},
@ -1306,7 +1306,7 @@
},
"sprites/wires/display/blue.png":
{
"frame": {"x":1975,"y":374,"w":47,"h":47},
"frame": {"x":706,"y":1997,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
@ -1314,7 +1314,7 @@
},
"sprites/wires/display/cyan.png":
{
"frame": {"x":1975,"y":427,"w":47,"h":47},
"frame": {"x":759,"y":1997,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
@ -1322,7 +1322,7 @@
},
"sprites/wires/display/green.png":
{
"frame": {"x":1971,"y":480,"w":47,"h":47},
"frame": {"x":812,"y":1997,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
@ -1330,7 +1330,7 @@
},
"sprites/wires/display/purple.png":
{
"frame": {"x":1971,"y":533,"w":47,"h":47},
"frame": {"x":1997,"y":716,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
@ -1338,7 +1338,7 @@
},
"sprites/wires/display/red.png":
{
"frame": {"x":1989,"y":586,"w":47,"h":47},
"frame": {"x":1997,"y":769,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
@ -1346,7 +1346,7 @@
},
"sprites/wires/display/white.png":
{
"frame": {"x":1989,"y":639,"w":47,"h":47},
"frame": {"x":1997,"y":822,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
@ -1354,7 +1354,7 @@
},
"sprites/wires/display/yellow.png":
{
"frame": {"x":1765,"y":1747,"w":47,"h":47},
"frame": {"x":1997,"y":875,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
@ -1362,10 +1362,10 @@
},
"sprites/wires/lever_on.png":
{
"frame": {"x":1935,"y":1744,"w":109,"h":127},
"frame": {"x":1619,"y":1645,"w":101,"h":114},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":18,"y":5,"w":109,"h":127},
"spriteSourceSize": {"x":21,"y":10,"w":101,"h":114},
"sourceSize": {"w":144,"h":144}
},
"sprites/wires/logical_acceptor.png":
@ -1378,7 +1378,7 @@
},
"sprites/wires/logical_ejector.png":
{
"frame": {"x":1626,"y":1936,"w":60,"h":67},
"frame": {"x":1647,"y":1855,"w":60,"h":67},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":44,"y":0,"w":60,"h":67},
@ -1386,7 +1386,7 @@
},
"sprites/wires/network_conflict.png":
{
"frame": {"x":1384,"y":1704,"w":47,"h":44},
"frame": {"x":1713,"y":1883,"w":47,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":2,"w":47,"h":44},
@ -1394,7 +1394,7 @@
},
"sprites/wires/network_empty.png":
{
"frame": {"x":1085,"y":1921,"w":41,"h":48},
"frame": {"x":1200,"y":1984,"w":41,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":0,"w":41,"h":48},
@ -1402,7 +1402,7 @@
},
"sprites/wires/overlay_tile.png":
{
"frame": {"x":1719,"y":453,"w":96,"h":96},
"frame": {"x":1211,"y":1736,"w":96,"h":96},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
@ -1418,7 +1418,7 @@
},
"sprites/wires/sets/color_forward.png":
{
"frame": {"x":270,"y":1889,"w":18,"h":144},
"frame": {"x":2026,"y":266,"w":18,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":0,"w":18,"h":144},
@ -1434,7 +1434,7 @@
},
"sprites/wires/sets/color_turn.png":
{
"frame": {"x":1384,"y":1617,"w":81,"h":81},
"frame": {"x":1474,"y":1781,"w":81,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":63,"w":81,"h":81},
@ -1450,7 +1450,7 @@
},
"sprites/wires/sets/conflict_forward.png":
{
"frame": {"x":974,"y":1840,"w":18,"h":144},
"frame": {"x":2026,"y":416,"w":18,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":0,"w":18,"h":144},
@ -1458,7 +1458,7 @@
},
"sprites/wires/sets/conflict_split.png":
{
"frame": {"x":645,"y":1460,"w":144,"h":81},
"frame": {"x":1725,"y":743,"w":144,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":63,"w":144,"h":81},
@ -1466,7 +1466,7 @@
},
"sprites/wires/sets/conflict_turn.png":
{
"frame": {"x":1678,"y":1710,"w":81,"h":81},
"frame": {"x":1473,"y":1868,"w":81,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":63,"w":81,"h":81},
@ -1482,7 +1482,7 @@
},
"sprites/wires/sets/regular_forward.png":
{
"frame": {"x":2006,"y":1028,"w":18,"h":144},
"frame": {"x":2026,"y":116,"w":18,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":0,"w":18,"h":144},
@ -1498,7 +1498,7 @@
},
"sprites/wires/sets/regular_turn.png":
{
"frame": {"x":998,"y":1921,"w":81,"h":81},
"frame": {"x":1386,"y":1855,"w":81,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":63,"w":81,"h":81},
@ -1514,7 +1514,7 @@
},
"sprites/wires/sets/shape_forward.png":
{
"frame": {"x":1975,"y":116,"w":18,"h":144},
"frame": {"x":2026,"y":566,"w":18,"h":144},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":0,"w":18,"h":144},
@ -1522,7 +1522,7 @@
},
"sprites/wires/sets/shape_split.png":
{
"frame": {"x":795,"y":1461,"w":144,"h":81},
"frame": {"x":1690,"y":830,"w":144,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":63,"w":144,"h":81},
@ -1530,7 +1530,7 @@
},
"sprites/wires/sets/shape_turn.png":
{
"frame": {"x":1542,"y":1846,"w":81,"h":81},
"frame": {"x":1560,"y":1868,"w":81,"h":81},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":63,"y":63,"w":81,"h":81},
@ -1538,7 +1538,7 @@
},
"sprites/wires/wires_preview.png":
{
"frame": {"x":1975,"y":320,"w":48,"h":48},
"frame": {"x":1360,"y":1996,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -1551,6 +1551,6 @@
"format": "RGBA8888",
"size": {"w":2048,"h":2048},
"scale": "0.75",
"smartupdate": "$TexturePacker:SmartUpdate:dac17f2501c07c842209cdd1895313a9:e5152751740891546eb27095657f7239:908b89f5ca8ff73e331a35a3b14d0604$"
"smartupdate": "$TexturePacker:SmartUpdate:5429cdf3b92834776437a91974e89d3c:fa61fb225cd312db144ce6a38d97871b:908b89f5ca8ff73e331a35a3b14d0604$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@ -2,7 +2,7 @@
"sprites/belt/built/forward_0.png":
{
"frame": {"x":157,"y":505,"w":40,"h":48},
"frame": {"x":902,"y":294,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -10,7 +10,7 @@
},
"sprites/belt/built/forward_1.png":
{
"frame": {"x":154,"y":559,"w":40,"h":48},
"frame": {"x":200,"y":476,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -18,7 +18,7 @@
},
"sprites/belt/built/forward_2.png":
{
"frame": {"x":200,"y":582,"w":40,"h":48},
"frame": {"x":146,"y":514,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -26,7 +26,7 @@
},
"sprites/belt/built/forward_3.png":
{
"frame": {"x":150,"y":613,"w":40,"h":48},
"frame": {"x":50,"y":552,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -34,7 +34,7 @@
},
"sprites/belt/built/forward_4.png":
{
"frame": {"x":100,"y":660,"w":40,"h":48},
"frame": {"x":4,"y":553,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -42,7 +42,7 @@
},
"sprites/belt/built/forward_5.png":
{
"frame": {"x":50,"y":678,"w":40,"h":48},
"frame": {"x":96,"y":552,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -50,7 +50,7 @@
},
"sprites/belt/built/forward_6.png":
{
"frame": {"x":4,"y":717,"w":40,"h":48},
"frame": {"x":559,"y":432,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -58,7 +58,7 @@
},
"sprites/belt/built/forward_7.png":
{
"frame": {"x":776,"y":352,"w":40,"h":48},
"frame": {"x":605,"y":432,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -66,7 +66,7 @@
},
"sprites/belt/built/forward_8.png":
{
"frame": {"x":715,"y":402,"w":40,"h":48},
"frame": {"x":651,"y":480,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -74,7 +74,7 @@
},
"sprites/belt/built/forward_9.png":
{
"frame": {"x":665,"y":428,"w":40,"h":48},
"frame": {"x":697,"y":499,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -82,7 +82,7 @@
},
"sprites/belt/built/forward_10.png":
{
"frame": {"x":104,"y":606,"w":40,"h":48},
"frame": {"x":246,"y":476,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -90,7 +90,7 @@
},
"sprites/belt/built/forward_11.png":
{
"frame": {"x":54,"y":624,"w":40,"h":48},
"frame": {"x":54,"y":498,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -98,7 +98,7 @@
},
"sprites/belt/built/forward_12.png":
{
"frame": {"x":4,"y":663,"w":40,"h":48},
"frame": {"x":4,"y":499,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -106,7 +106,7 @@
},
"sprites/belt/built/forward_13.png":
{
"frame": {"x":253,"y":532,"w":40,"h":48},
"frame": {"x":100,"y":498,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -114,7 +114,7 @@
},
"sprites/belt/built/left_0.png":
{
"frame": {"x":487,"y":302,"w":44,"h":44},
"frame": {"x":668,"y":380,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -122,7 +122,7 @@
},
"sprites/belt/built/left_1.png":
{
"frame": {"x":487,"y":352,"w":44,"h":44},
"frame": {"x":718,"y":399,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -130,7 +130,7 @@
},
"sprites/belt/built/left_2.png":
{
"frame": {"x":565,"y":362,"w":44,"h":44},
"frame": {"x":932,"y":480,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -138,7 +138,7 @@
},
"sprites/belt/built/left_3.png":
{
"frame": {"x":615,"y":362,"w":44,"h":44},
"frame": {"x":718,"y":449,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -146,7 +146,7 @@
},
"sprites/belt/built/left_4.png":
{
"frame": {"x":487,"y":402,"w":44,"h":44},
"frame": {"x":768,"y":449,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -154,7 +154,7 @@
},
"sprites/belt/built/left_5.png":
{
"frame": {"x":431,"y":404,"w":44,"h":44},
"frame": {"x":832,"y":478,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -162,7 +162,7 @@
},
"sprites/belt/built/left_6.png":
{
"frame": {"x":381,"y":406,"w":44,"h":44},
"frame": {"x":882,"y":500,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -170,7 +170,7 @@
},
"sprites/belt/built/left_7.png":
{
"frame": {"x":313,"y":436,"w":44,"h":44},
"frame": {"x":932,"y":530,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -178,7 +178,7 @@
},
"sprites/belt/built/left_8.png":
{
"frame": {"x":205,"y":482,"w":44,"h":44},
"frame": {"x":384,"y":302,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -186,7 +186,7 @@
},
"sprites/belt/built/left_9.png":
{
"frame": {"x":104,"y":556,"w":44,"h":44},
"frame": {"x":207,"y":376,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -194,7 +194,7 @@
},
"sprites/belt/built/left_10.png":
{
"frame": {"x":437,"y":354,"w":44,"h":44},
"frame": {"x":668,"y":430,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -202,7 +202,7 @@
},
"sprites/belt/built/left_11.png":
{
"frame": {"x":381,"y":356,"w":44,"h":44},
"frame": {"x":768,"y":399,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -210,7 +210,7 @@
},
"sprites/belt/built/left_12.png":
{
"frame": {"x":733,"y":302,"w":44,"h":44},
"frame": {"x":832,"y":428,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -218,7 +218,7 @@
},
"sprites/belt/built/left_13.png":
{
"frame": {"x":676,"y":328,"w":44,"h":44},
"frame": {"x":882,"y":450,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -226,7 +226,7 @@
},
"sprites/belt/built/right_0.png":
{
"frame": {"x":54,"y":574,"w":44,"h":44},
"frame": {"x":257,"y":376,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -234,7 +234,7 @@
},
"sprites/belt/built/right_1.png":
{
"frame": {"x":4,"y":613,"w":44,"h":44},
"frame": {"x":434,"y":302,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -242,7 +242,7 @@
},
"sprites/belt/built/right_2.png":
{
"frame": {"x":947,"y":328,"w":44,"h":44},
"frame": {"x":252,"y":426,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -250,7 +250,7 @@
},
"sprites/belt/built/right_3.png":
{
"frame": {"x":726,"y":352,"w":44,"h":44},
"frame": {"x":427,"y":352,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -258,7 +258,7 @@
},
"sprites/belt/built/right_4.png":
{
"frame": {"x":665,"y":378,"w":44,"h":44},
"frame": {"x":477,"y":352,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -266,7 +266,7 @@
},
"sprites/belt/built/right_5.png":
{
"frame": {"x":565,"y":412,"w":44,"h":44},
"frame": {"x":561,"y":382,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -274,7 +274,7 @@
},
"sprites/belt/built/right_6.png":
{
"frame": {"x":615,"y":412,"w":44,"h":44},
"frame": {"x":58,"y":448,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -282,7 +282,7 @@
},
"sprites/belt/built/right_7.png":
{
"frame": {"x":481,"y":452,"w":44,"h":44},
"frame": {"x":4,"y":449,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -290,7 +290,7 @@
},
"sprites/belt/built/right_8.png":
{
"frame": {"x":431,"y":454,"w":44,"h":44},
"frame": {"x":108,"y":448,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -298,7 +298,7 @@
},
"sprites/belt/built/right_9.png":
{
"frame": {"x":377,"y":456,"w":44,"h":44},
"frame": {"x":376,"y":402,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -306,7 +306,7 @@
},
"sprites/belt/built/right_10.png":
{
"frame": {"x":255,"y":482,"w":44,"h":44},
"frame": {"x":484,"y":302,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -314,7 +314,7 @@
},
"sprites/belt/built/right_11.png":
{
"frame": {"x":783,"y":302,"w":44,"h":44},
"frame": {"x":377,"y":352,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -322,7 +322,7 @@
},
"sprites/belt/built/right_12.png":
{
"frame": {"x":833,"y":302,"w":44,"h":44},
"frame": {"x":307,"y":382,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -330,7 +330,7 @@
},
"sprites/belt/built/right_13.png":
{
"frame": {"x":897,"y":314,"w":44,"h":44},
"frame": {"x":202,"y":426,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -346,7 +346,7 @@
},
"sprites/blueprints/balancer-merger.png":
{
"frame": {"x":208,"y":376,"w":47,"h":47},
"frame": {"x":678,"y":274,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":47},
@ -362,7 +362,7 @@
},
"sprites/blueprints/balancer-splitter.png":
{
"frame": {"x":261,"y":376,"w":47,"h":47},
"frame": {"x":731,"y":302,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":47},
@ -378,7 +378,7 @@
},
"sprites/blueprints/belt_left.png":
{
"frame": {"x":305,"y":486,"w":44,"h":44},
"frame": {"x":302,"y":432,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -386,7 +386,7 @@
},
"sprites/blueprints/belt_right.png":
{
"frame": {"x":203,"y":532,"w":44,"h":44},
"frame": {"x":426,"y":402,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -394,7 +394,7 @@
},
"sprites/blueprints/belt_top.png":
{
"frame": {"x":822,"y":352,"w":40,"h":48},
"frame": {"x":743,"y":499,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -426,7 +426,7 @@
},
"sprites/blueprints/display.png":
{
"frame": {"x":4,"y":561,"w":44,"h":46},
"frame": {"x":618,"y":328,"w":44,"h":46},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":44,"h":46},
@ -442,10 +442,10 @@
},
"sprites/blueprints/lever.png":
{
"frame": {"x":906,"y":214,"w":38,"h":44},
"frame": {"x":982,"y":483,"w":35,"h":41},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":1,"w":38,"h":44},
"spriteSourceSize": {"x":6,"y":2,"w":35,"h":41},
"sourceSize": {"w":48,"h":48}
},
"sprites/blueprints/logic_gate-not.png":
@ -466,7 +466,7 @@
},
"sprites/blueprints/logic_gate-transistor.png":
{
"frame": {"x":166,"y":397,"w":35,"h":48},
"frame": {"x":166,"y":317,"w":35,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":35,"h":48},
@ -490,7 +490,7 @@
},
"sprites/blueprints/miner-chainable.png":
{
"frame": {"x":680,"y":274,"w":47,"h":48},
"frame": {"x":849,"y":268,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -498,7 +498,7 @@
},
"sprites/blueprints/miner.png":
{
"frame": {"x":570,"y":308,"w":47,"h":48},
"frame": {"x":948,"y":328,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -642,7 +642,7 @@
},
"sprites/blueprints/virtual_processor-painter.png":
{
"frame": {"x":57,"y":466,"w":44,"h":48},
"frame": {"x":837,"y":374,"w":44,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":44,"h":48},
@ -666,7 +666,7 @@
},
"sprites/blueprints/virtual_processor-stacker.png":
{
"frame": {"x":4,"y":507,"w":44,"h":48},
"frame": {"x":887,"y":396,"w":44,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":44,"h":48},
@ -698,7 +698,7 @@
},
"sprites/blueprints/wire-split.png":
{
"frame": {"x":741,"y":268,"w":48,"h":28},
"frame": {"x":58,"y":414,"w":48,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":20,"w":48,"h":28},
@ -706,7 +706,7 @@
},
"sprites/blueprints/wire-turn.png":
{
"frame": {"x":912,"y":364,"w":28,"h":28},
"frame": {"x":166,"y":446,"w":28,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":20,"w":28,"h":28},
@ -722,7 +722,7 @@
},
"sprites/blueprints/wire_tunnel-coating.png":
{
"frame": {"x":363,"y":345,"w":12,"h":46},
"frame": {"x":550,"y":294,"w":12,"h":46},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":18,"y":1,"w":12,"h":46},
@ -746,7 +746,7 @@
},
"sprites/buildings/balancer-merger.png":
{
"frame": {"x":207,"y":429,"w":47,"h":47},
"frame": {"x":678,"y":327,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":47},
@ -762,7 +762,7 @@
},
"sprites/buildings/balancer-splitter.png":
{
"frame": {"x":260,"y":429,"w":47,"h":47},
"frame": {"x":784,"y":302,"w":47,"h":47},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":47},
@ -778,7 +778,7 @@
},
"sprites/buildings/belt_left.png":
{
"frame": {"x":487,"y":302,"w":44,"h":44},
"frame": {"x":668,"y":380,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
@ -786,7 +786,7 @@
},
"sprites/buildings/belt_right.png":
{
"frame": {"x":54,"y":574,"w":44,"h":44},
"frame": {"x":257,"y":376,"w":44,"h":44},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
@ -794,7 +794,7 @@
},
"sprites/buildings/belt_top.png":
{
"frame": {"x":157,"y":505,"w":40,"h":48},
"frame": {"x":902,"y":294,"w":40,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
@ -802,7 +802,7 @@
},
"sprites/buildings/constant_signal.png":
{
"frame": {"x":166,"y":317,"w":36,"h":43},
"frame": {"x":906,"y":214,"w":36,"h":43},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":0,"w":36,"h":43},
@ -826,7 +826,7 @@
},
"sprites/buildings/display.png":
{
"frame": {"x":437,"y":302,"w":44,"h":46},
"frame": {"x":618,"y":380,"w":44,"h":46},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":44,"h":46},
@ -850,15 +850,15 @@
},
"sprites/buildings/lever.png":
{
"frame": {"x":906,"y":264,"w":38,"h":44},
"frame": {"x":982,"y":576,"w":34,"h":40},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":1,"w":38,"h":44},
"spriteSourceSize": {"x":7,"y":2,"w":34,"h":40},
"sourceSize": {"w":48,"h":48}
},
"sprites/buildings/logic_gate-not.png":
{
"frame": {"x":314,"y":382,"w":43,"h":48},
"frame": {"x":476,"y":402,"w":43,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":3,"y":0,"w":43,"h":48},
@ -874,7 +874,7 @@
},
"sprites/buildings/logic_gate-transistor.png":
{
"frame": {"x":164,"y":451,"w":35,"h":48},
"frame": {"x":166,"y":371,"w":35,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":35,"h":48},
@ -890,7 +890,7 @@
},
"sprites/buildings/logic_gate.png":
{
"frame": {"x":208,"y":325,"w":48,"h":45},
"frame": {"x":207,"y":325,"w":48,"h":45},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":45},
@ -898,7 +898,7 @@
},
"sprites/buildings/miner-chainable.png":
{
"frame": {"x":623,"y":308,"w":47,"h":48},
"frame": {"x":572,"y":274,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -906,7 +906,7 @@
},
"sprites/buildings/miner.png":
{
"frame": {"x":384,"y":302,"w":47,"h":48},
"frame": {"x":625,"y":274,"w":47,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":48},
@ -1010,7 +1010,7 @@
},
"sprites/buildings/underground_belt_entry-tier2.png":
{
"frame": {"x":4,"y":415,"w":47,"h":42},
"frame": {"x":890,"y":348,"w":47,"h":42},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":6,"w":47,"h":42},
@ -1018,7 +1018,7 @@
},
"sprites/buildings/underground_belt_entry.png":
{
"frame": {"x":4,"y":463,"w":47,"h":38},
"frame": {"x":943,"y":382,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":10,"w":47,"h":38},
@ -1026,7 +1026,7 @@
},
"sprites/buildings/underground_belt_exit-tier2.png":
{
"frame": {"x":111,"y":414,"w":47,"h":38},
"frame": {"x":731,"y":355,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":38},
@ -1034,7 +1034,7 @@
},
"sprites/buildings/underground_belt_exit.png":
{
"frame": {"x":111,"y":458,"w":47,"h":38},
"frame": {"x":784,"y":355,"w":47,"h":38},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":47,"h":38},
@ -1050,7 +1050,7 @@
},
"sprites/buildings/virtual_processor-painter.png":
{
"frame": {"x":107,"y":502,"w":44,"h":48},
"frame": {"x":937,"y":426,"w":44,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":44,"h":48},
@ -1058,7 +1058,7 @@
},
"sprites/buildings/virtual_processor-rotater.png":
{
"frame": {"x":316,"y":328,"w":41,"h":48},
"frame": {"x":315,"y":328,"w":41,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":41,"h":48},
@ -1066,7 +1066,7 @@
},
"sprites/buildings/virtual_processor-shapecompare.png":
{
"frame": {"x":262,"y":325,"w":48,"h":45},
"frame": {"x":261,"y":325,"w":48,"h":45},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":45},
@ -1074,7 +1074,7 @@
},
"sprites/buildings/virtual_processor-stacker.png":
{
"frame": {"x":54,"y":520,"w":44,"h":48},
"frame": {"x":568,"y":328,"w":44,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":4,"y":0,"w":44,"h":48},
@ -1090,7 +1090,7 @@
},
"sprites/buildings/virtual_processor.png":
{
"frame": {"x":950,"y":220,"w":48,"h":48},
"frame": {"x":948,"y":220,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -1098,7 +1098,7 @@
},
"sprites/buildings/wire-cross.png":
{
"frame": {"x":950,"y":274,"w":48,"h":48},
"frame": {"x":948,"y":274,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -1106,7 +1106,7 @@
},
"sprites/buildings/wire-split.png":
{
"frame": {"x":795,"y":268,"w":48,"h":28},
"frame": {"x":4,"y":415,"w":48,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":20,"w":48,"h":28},
@ -1114,7 +1114,7 @@
},
"sprites/buildings/wire-turn.png":
{
"frame": {"x":912,"y":398,"w":28,"h":28},
"frame": {"x":527,"y":381,"w":28,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":20,"w":28,"h":28},
@ -1122,7 +1122,7 @@
},
"sprites/buildings/wire.png":
{
"frame": {"x":537,"y":368,"w":8,"h":48},
"frame": {"x":818,"y":420,"w":8,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":0,"w":8,"h":48},
@ -1130,7 +1130,7 @@
},
"sprites/buildings/wire_tunnel-coating.png":
{
"frame": {"x":547,"y":316,"w":12,"h":46},
"frame": {"x":996,"y":393,"w":12,"h":46},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":18,"y":1,"w":12,"h":46},
@ -1138,7 +1138,7 @@
},
"sprites/buildings/wire_tunnel.png":
{
"frame": {"x":58,"y":414,"w":47,"h":46},
"frame": {"x":837,"y":322,"w":47,"h":46},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":46},
@ -1202,7 +1202,7 @@
},
"sprites/colors/yellow.png":
{
"frame": {"x":364,"y":261,"w":18,"h":18},
"frame": {"x":1002,"y":221,"w":18,"h":18},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":18,"h":18},
@ -1210,7 +1210,7 @@
},
"sprites/debug/acceptor_slot.png":
{
"frame": {"x":537,"y":302,"w":4,"h":4},
"frame": {"x":731,"y":274,"w":4,"h":4},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":4,"h":4},
@ -1218,7 +1218,7 @@
},
"sprites/debug/ejector_slot.png":
{
"frame": {"x":537,"y":312,"w":4,"h":4},
"frame": {"x":731,"y":284,"w":4,"h":4},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":4,"h":4},
@ -1234,7 +1234,7 @@
},
"sprites/misc/processor_disabled.png":
{
"frame": {"x":531,"y":452,"w":28,"h":29},
"frame": {"x":534,"y":346,"w":28,"h":29},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":2,"w":28,"h":29},
@ -1250,7 +1250,7 @@
},
"sprites/misc/reader_overlay.png":
{
"frame": {"x":166,"y":366,"w":36,"h":25},
"frame": {"x":906,"y":263,"w":36,"h":25},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":6,"y":12,"w":36,"h":25},
@ -1258,7 +1258,7 @@
},
"sprites/misc/slot_bad_arrow.png":
{
"frame": {"x":363,"y":307,"w":13,"h":13},
"frame": {"x":1001,"y":355,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -1266,7 +1266,7 @@
},
"sprites/misc/slot_good_arrow.png":
{
"frame": {"x":363,"y":326,"w":13,"h":13},
"frame": {"x":1001,"y":374,"w":13,"h":13},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
@ -1274,7 +1274,7 @@
},
"sprites/misc/storage_overlay.png":
{
"frame": {"x":984,"y":378,"w":30,"h":15},
"frame": {"x":166,"y":425,"w":30,"h":15},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":30,"h":15},
@ -1282,7 +1282,7 @@
},
"sprites/misc/waypoint.png":
{
"frame": {"x":550,"y":294,"w":14,"h":16},
"frame": {"x":1001,"y":333,"w":14,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":14,"h":16},
@ -1290,7 +1290,7 @@
},
"sprites/wires/boolean_false.png":
{
"frame": {"x":363,"y":397,"w":12,"h":15},
"frame": {"x":818,"y":399,"w":12,"h":15},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":2,"y":1,"w":12,"h":15},
@ -1330,7 +1330,7 @@
},
"sprites/wires/display/purple.png":
{
"frame": {"x":1004,"y":221,"w":16,"h":16},
"frame": {"x":1002,"y":245,"w":16,"h":16},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":16,"h":16},
@ -1338,7 +1338,7 @@
},
"sprites/wires/display/red.png":
{
"frame": {"x":1004,"y":243,"w":16,"h":16},
"frame": {"x":1002,"y":267,"w":16,"h":16},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":16,"h":16},
@ -1346,7 +1346,7 @@
},
"sprites/wires/display/white.png":
{
"frame": {"x":1004,"y":265,"w":16,"h":16},
"frame": {"x":1002,"y":289,"w":16,"h":16},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":16,"h":16},
@ -1354,7 +1354,7 @@
},
"sprites/wires/display/yellow.png":
{
"frame": {"x":1004,"y":287,"w":16,"h":16},
"frame": {"x":1002,"y":311,"w":16,"h":16},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":16,"h":16},
@ -1362,10 +1362,10 @@
},
"sprites/wires/lever_on.png":
{
"frame": {"x":868,"y":364,"w":38,"h":44},
"frame": {"x":982,"y":530,"w":35,"h":40},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":5,"y":1,"w":38,"h":44},
"spriteSourceSize": {"x":6,"y":2,"w":35,"h":40},
"sourceSize": {"w":48,"h":48}
},
"sprites/wires/logical_acceptor.png":
@ -1386,7 +1386,7 @@
},
"sprites/wires/network_conflict.png":
{
"frame": {"x":1004,"y":309,"w":16,"h":16},
"frame": {"x":364,"y":261,"w":16,"h":16},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":16,"h":16},
@ -1394,7 +1394,7 @@
},
"sprites/wires/network_empty.png":
{
"frame": {"x":363,"y":285,"w":15,"h":16},
"frame": {"x":363,"y":283,"w":15,"h":16},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":1,"y":0,"w":15,"h":16},
@ -1402,7 +1402,7 @@
},
"sprites/wires/overlay_tile.png":
{
"frame": {"x":946,"y":378,"w":32,"h":32},
"frame": {"x":987,"y":445,"w":32,"h":32},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
@ -1418,7 +1418,7 @@
},
"sprites/wires/sets/color_forward.png":
{
"frame": {"x":551,"y":368,"w":8,"h":48},
"frame": {"x":818,"y":474,"w":8,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":0,"w":8,"h":48},
@ -1426,7 +1426,7 @@
},
"sprites/wires/sets/color_split.png":
{
"frame": {"x":849,"y":268,"w":48,"h":28},
"frame": {"x":112,"y":414,"w":48,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":20,"w":48,"h":28},
@ -1434,7 +1434,7 @@
},
"sprites/wires/sets/color_turn.png":
{
"frame": {"x":984,"y":399,"w":28,"h":28},
"frame": {"x":525,"y":415,"w":28,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":20,"w":28,"h":28},
@ -1450,7 +1450,7 @@
},
"sprites/wires/sets/conflict_forward.png":
{
"frame": {"x":363,"y":418,"w":8,"h":48},
"frame": {"x":363,"y":305,"w":8,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":0,"w":8,"h":48},
@ -1458,7 +1458,7 @@
},
"sprites/wires/sets/conflict_split.png":
{
"frame": {"x":572,"y":274,"w":48,"h":28},
"frame": {"x":741,"y":268,"w":48,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":20,"w":48,"h":28},
@ -1466,7 +1466,7 @@
},
"sprites/wires/sets/conflict_turn.png":
{
"frame": {"x":946,"y":416,"w":28,"h":28},
"frame": {"x":158,"y":480,"w":28,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":20,"w":28,"h":28},
@ -1474,7 +1474,7 @@
},
"sprites/wires/sets/regular_cross.png":
{
"frame": {"x":950,"y":274,"w":48,"h":48},
"frame": {"x":948,"y":274,"w":48,"h":48},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
@ -1482,7 +1482,7 @@
},
"sprites/wires/sets/regular_forward.png":
{
"frame": {"x":537,"y":368,"w":8,"h":48},
"frame": {"x":818,"y":420,"w":8,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":0,"w":8,"h":48},
@ -1490,7 +1490,7 @@
},
"sprites/wires/sets/regular_split.png":
{
"frame": {"x":795,"y":268,"w":48,"h":28},
"frame": {"x":4,"y":415,"w":48,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":20,"w":48,"h":28},
@ -1498,7 +1498,7 @@
},
"sprites/wires/sets/regular_turn.png":
{
"frame": {"x":912,"y":398,"w":28,"h":28},
"frame": {"x":527,"y":381,"w":28,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":20,"w":28,"h":28},
@ -1514,7 +1514,7 @@
},
"sprites/wires/sets/shape_forward.png":
{
"frame": {"x":883,"y":302,"w":8,"h":48},
"frame": {"x":362,"y":359,"w":8,"h":48},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":0,"w":8,"h":48},
@ -1522,7 +1522,7 @@
},
"sprites/wires/sets/shape_split.png":
{
"frame": {"x":626,"y":274,"w":48,"h":28},
"frame": {"x":795,"y":268,"w":48,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":0,"y":20,"w":48,"h":28},
@ -1530,7 +1530,7 @@
},
"sprites/wires/sets/shape_turn.png":
{
"frame": {"x":980,"y":433,"w":28,"h":28},
"frame": {"x":525,"y":449,"w":28,"h":28},
"rotated": false,
"trimmed": true,
"spriteSourceSize": {"x":20,"y":20,"w":28,"h":28},
@ -1551,6 +1551,6 @@
"format": "RGBA8888",
"size": {"w":1024,"h":1024},
"scale": "0.25",
"smartupdate": "$TexturePacker:SmartUpdate:dac17f2501c07c842209cdd1895313a9:e5152751740891546eb27095657f7239:908b89f5ca8ff73e331a35a3b14d0604$"
"smartupdate": "$TexturePacker:SmartUpdate:5429cdf3b92834776437a91974e89d3c:fa61fb225cd312db144ce6a38d97871b:908b89f5ca8ff73e331a35a3b14d0604$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 KiB

After

Width:  |  Height:  |  Size: 278 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 698 KiB

After

Width:  |  Height:  |  Size: 701 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -10,7 +10,8 @@ $buildings: belt, cutter, miner, mixer, painter, rotater, balancer, stacker, tra
$buildingsAndVariants: belt, balancer, balancer-merger, balancer-splitter, underground_belt,
underground_belt-tier2, miner, miner-chainable, cutter, cutter-quad, rotater, rotater-ccw, rotater-fl,
stacker, mixer, painter, painter-double, painter-quad, trash, storage, reader;
stacker, mixer, painter, painter-double, painter-quad, trash, storage, reader, rotater-rotate180, lever,
display, constant_signal;
@each $building in $buildingsAndVariants {
[data-icon="building_tutorials/#{$building}.png"] {
/* @load-async */
@ -33,6 +34,10 @@ $buildingsAndVariants: belt, balancer, balancer-merger, balancer-splitter, under
/* @load-async */
background-image: uiResource("res/ui/building_tutorials/balancer-splitter.png") !important;
}
[data-icon="building_tutorials/filter.png"] {
/* @load-async */
background-image: uiResource("res/ui/building_tutorials/lever.png") !important;
}
$icons: notification_saved, notification_success, notification_upgrade;
@each $icon in $icons {

View File

@ -344,10 +344,14 @@
align-self: center;
justify-self: center;
@include IncreasedClickArea(0px);
background: #44484a center center / 40% no-repeat;
}
button.resumeGame {
background-color: #44484a;
& {
/* @load-async */
background: #44484a uiResource("icons/play.png") center center / 40% no-repeat;
background-image: uiResource("icons/play.png");
}
}

View File

@ -11,6 +11,7 @@
@include StyleBelowWidth($layoutBreak) {
grid-template-columns: 1fr;
grid-template-rows: auto 1fr;
}
.sidebar {

View File

@ -9,6 +9,9 @@ import { GameRoot } from "../root";
import { BeltUnderlaysComponent } from "../components/belt_underlays";
import { BeltReaderComponent } from "../components/belt_reader";
import { enumHubGoalRewards } from "../tutorial_goals";
import { generateMatrixRotations } from "../../core/utils";
const overlayMatrix = generateMatrixRotations([0, 1, 0, 0, 1, 0, 0, 1, 0]);
export class MetaReaderBuilding extends MetaBuilding {
constructor() {
@ -34,6 +37,17 @@ export class MetaReaderBuilding extends MetaBuilding {
return true;
}
/**
* @param {number} rotation
* @param {number} rotationVariant
* @param {string} variant
* @param {Entity} entity
* @returns {Array<number>|null}
*/
getSpecialOverlayRenderMatrix(rotation, rotationVariant, variant, entity) {
return overlayMatrix[rotation];
}
/**
* Creates the entity at the given location
* @param {Entity} entity

View File

@ -15,6 +15,7 @@ export const enumRotaterVariants = { ccw: "ccw", rotate180: "rotate180" };
const overlayMatrices = {
[defaultBuildingVariant]: generateMatrixRotations([0, 1, 1, 1, 1, 0, 0, 1, 1]),
[enumRotaterVariants.ccw]: generateMatrixRotations([1, 1, 0, 0, 1, 1, 1, 1, 0]),
[enumRotaterVariants.rotate180]: generateMatrixRotations([1, 1, 0, 1, 1, 1, 0, 1, 1]),
};
export class MetaRotaterBuilding extends MetaBuilding {

View File

@ -25,7 +25,7 @@ export const enumUndergroundBeltVariantToTier = {
[enumUndergroundBeltVariants.tier2]: 1,
};
const colorsByRotationVariant = ["#6d9dff", "#51d723"];
const colorsByRotationVariant = ["#6d9dff", "#9cad40"];
const overlayMatrices = [
// Sender

View File

@ -7,6 +7,7 @@ import {
KEYCODE_RMB,
KEYMAPPINGS,
} from "../../key_action_mapper";
import { enumHubGoalRewards } from "../../tutorial_goals";
import { BaseHUDPart } from "../base_hud_part";
import { DynamicDomAttach } from "../dynamic_dom_attach";
@ -257,7 +258,8 @@ export class HUDKeybindingOverlay extends BaseHUDPart {
// Switch layers
label: T.ingame.keybindingsOverlay.switchLayers,
keys: [k.ingame.switchLayers],
condition: () => true,
condition: () =>
this.root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_filters_and_levers),
},
];

View File

@ -3,6 +3,7 @@ import { enumBalancerVariants, MetaBalancerBuilding } from "./buildings/balancer
import { MetaConstantSignalBuilding } from "./buildings/constant_signal";
import { enumCutterVariants, MetaCutterBuilding } from "./buildings/cutter";
import { MetaDisplayBuilding } from "./buildings/display";
import { MetaLeverBuilding } from "./buildings/lever";
import { enumMinerVariants, MetaMinerBuilding } from "./buildings/miner";
import { MetaMixerBuilding } from "./buildings/mixer";
import { enumPainterVariants, MetaPainterBuilding } from "./buildings/painter";
@ -56,7 +57,9 @@ export const enumHubGoalRewardsToContentUnlocked = {
[enumHubGoalRewards.reward_logic_gates]: null, // @TODO!
[enumHubGoalRewards.reward_virtual_processing]: null, // @TODO!
[enumHubGoalRewards.reward_wires_filters_and_levers]: null,
[enumHubGoalRewards.reward_wires_filters_and_levers]: typed([
[MetaLeverBuilding, defaultBuildingVariant],
]),
[enumHubGoalRewards.reward_freeplay]: null,
[enumHubGoalRewards.reward_blueprints]: null,
[enumHubGoalRewards.no_reward]: null,

View File

@ -579,12 +579,12 @@ buildings:
constant_signal:
default:
name: &constant_signal Constant Signal
description: Emits a constant signal (shape, color or boolean).
description: Emits a constant signal, which can be either a shape, color or boolean.
lever:
default:
name: &lever Switch
description: Can be toggled to emit 1 / 0
description: Can be toggled to emit a boolean signal, which can then be used to control for example an item filter.
logic_gate:
default:
@ -607,14 +607,12 @@ buildings:
filter:
default:
name: &filter Filter
# TEMP
description: Only allows through items which match exactly the provided shape / color. If you put in a boolean 1, it allows everything through, if you put in a 0 it will allow nothing through.
description: Connect with a signal to route all matching items to the top and the remaining to the right. Can be controlled with boolean signals too.
display:
default:
name: &display Display
# TEMP
description: Can be connected on the wires layer to show a color or shape. When inputting a boolean item, the display will be white if the value is 1.
description: Connect a signal to show it on the display! It can be a shape, color or boolean.
reader:
default:
@ -703,7 +701,7 @@ storyRewards:
reward_splitter:
title: Compact Splitter
desc: >-
You have unlocked a merger variant of the <strong>balancer</strong> - It accepts one input and splits them into two!
You have unlocked a splitter variant of the <strong>balancer</strong> - It accepts one input and splits them into two!
reward_belt_reader:
title: Belt reader