From fc3de1b58689e3e58ab809688a56a8e23cfd64f4 Mon Sep 17 00:00:00 2001 From: EmeraldBlock Date: Wed, 24 Nov 2021 18:03:59 -0600 Subject: [PATCH] add acceptor/ejector belts to other buildings --- src/js/game/buildings/balancer.js | 7 +++---- src/js/game/buildings/hub.js | 14 ++++++++++++++ src/js/game/buildings/mixer.js | 2 ++ src/js/game/buildings/painter.js | 1 + src/js/game/buildings/stacker.js | 2 ++ src/js/game/systems/belt.js | 4 ++++ 6 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/js/game/buildings/balancer.js b/src/js/game/buildings/balancer.js index 42b54e82..35402d15 100644 --- a/src/js/game/buildings/balancer.js +++ b/src/js/game/buildings/balancer.js @@ -8,6 +8,7 @@ import { GameRoot } from "../root"; import { enumHubGoalRewards } from "../tutorial_goals"; import { T } from "../../translations"; import { formatItemsPerSecond, generateMatrixRotations } from "../../core/utils"; +import { BELT_BORDER } from "../systems/belt"; /** @enum {string} */ export const enumBalancerVariants = { @@ -183,9 +184,7 @@ export class MetaBalancerBuilding extends MetaBuilding { ? enumDirection.left : enumDirection.right, ], - // distance to edge of perpendicular belt, ignoring border width - // see generate_belt_sprites.js - beltLength: 23.5 / 192, + beltLength: BELT_BORDER, }, ]); @@ -217,7 +216,7 @@ export class MetaBalancerBuilding extends MetaBuilding { variant === enumBalancerVariants.splitterInverse ? enumDirection.left : enumDirection.right, - beltLength: 23.5 / 192, + beltLength: BELT_BORDER, }, ]); diff --git a/src/js/game/buildings/hub.js b/src/js/game/buildings/hub.js index b9929b31..95647006 100644 --- a/src/js/game/buildings/hub.js +++ b/src/js/game/buildings/hub.js @@ -67,71 +67,85 @@ export class MetaHubBuilding extends MetaBuilding { { pos: new Vector(0, 0), directions: [enumDirection.top, enumDirection.left], + beltLength: 0.5, filter: "shape", }, { pos: new Vector(1, 0), directions: [enumDirection.top], + beltLength: 0.5, filter: "shape", }, { pos: new Vector(2, 0), directions: [enumDirection.top], + beltLength: 0.5, filter: "shape", }, { pos: new Vector(3, 0), directions: [enumDirection.top, enumDirection.right], + beltLength: 0.5, filter: "shape", }, { pos: new Vector(0, 3), directions: [enumDirection.bottom, enumDirection.left], + beltLength: 0.5, filter: "shape", }, { pos: new Vector(1, 3), directions: [enumDirection.bottom], + beltLength: 0.5, filter: "shape", }, { pos: new Vector(2, 3), directions: [enumDirection.bottom], + beltLength: 0.5, filter: "shape", }, { pos: new Vector(3, 3), directions: [enumDirection.bottom, enumDirection.right], + beltLength: 0.5, filter: "shape", }, { pos: new Vector(0, 1), directions: [enumDirection.left], + beltLength: 0.5, filter: "shape", }, { pos: new Vector(0, 2), directions: [enumDirection.left], + beltLength: 0.5, filter: "shape", }, { pos: new Vector(0, 3), directions: [enumDirection.left], + beltLength: 0.5, filter: "shape", }, { pos: new Vector(3, 1), directions: [enumDirection.right], + beltLength: 0.5, filter: "shape", }, { pos: new Vector(3, 2), directions: [enumDirection.right], + beltLength: 0.5, filter: "shape", }, { pos: new Vector(3, 3), directions: [enumDirection.right], + beltLength: 0.5, filter: "shape", }, ], diff --git a/src/js/game/buildings/mixer.js b/src/js/game/buildings/mixer.js index e572bbba..b69ddd5e 100644 --- a/src/js/game/buildings/mixer.js +++ b/src/js/game/buildings/mixer.js @@ -65,11 +65,13 @@ export class MetaMixerBuilding extends MetaBuilding { { pos: new Vector(0, 0), directions: [enumDirection.bottom], + beltLength: 0.5, filter: "color", }, { pos: new Vector(1, 0), directions: [enumDirection.bottom], + beltLength: 0.5, filter: "color", }, ], diff --git a/src/js/game/buildings/painter.js b/src/js/game/buildings/painter.js index e7a0b72d..b0b1b06b 100644 --- a/src/js/game/buildings/painter.js +++ b/src/js/game/buildings/painter.js @@ -231,6 +231,7 @@ export class MetaPainterBuilding extends MetaBuilding { { pos: new Vector(0, 0), directions: [enumDirection.left], + beltLength: 0.5, filter: "shape", }, { diff --git a/src/js/game/buildings/stacker.js b/src/js/game/buildings/stacker.js index 6b70365d..9337fef6 100644 --- a/src/js/game/buildings/stacker.js +++ b/src/js/game/buildings/stacker.js @@ -65,11 +65,13 @@ export class MetaStackerBuilding extends MetaBuilding { { pos: new Vector(0, 0), directions: [enumDirection.bottom], + beltLength: 0.5, filter: "shape", }, { pos: new Vector(1, 0), directions: [enumDirection.bottom], + beltLength: 0.5, filter: "shape", }, ], diff --git a/src/js/game/systems/belt.js b/src/js/game/systems/belt.js index 8912d098..6d3c0ef5 100644 --- a/src/js/game/systems/belt.js +++ b/src/js/game/systems/belt.js @@ -17,6 +17,10 @@ import { defaultBuildingVariant } from "../meta_building"; export const BELT_ANIM_COUNT = 14; +// width of the empty space to the side of the belt sprite, ignoring border width, in tiles +// see generate_belt_sprites.js +export const BELT_BORDER = 23.5 / 192; + const logger = createLogger("belt"); /**