From b210db2361488a2c005752d9de882f75ba6f2013 Mon Sep 17 00:00:00 2001 From: tobspr Date: Sat, 29 Aug 2020 10:45:38 +0200 Subject: [PATCH] Revert item filter behaviour --- src/js/game/systems/item_ejector.js | 3 +-- src/js/game/systems/item_processor.js | 8 -------- src/js/game/systems/item_processor_overlays.js | 10 ++++++---- src/js/profile/application_settings.js | 11 ++++++++++- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/js/game/systems/item_ejector.js b/src/js/game/systems/item_ejector.js index 8ff710a8..e1b5f157 100644 --- a/src/js/game/systems/item_ejector.js +++ b/src/js/game/systems/item_ejector.js @@ -2,12 +2,11 @@ import { globalConfig } from "../../core/config"; import { DrawParameters } from "../../core/draw_parameters"; import { createLogger } from "../../core/logging"; import { Rectangle } from "../../core/rectangle"; -import { enumDirection, enumDirectionToVector, Vector } from "../../core/vector"; +import { enumDirection, enumDirectionToVector } from "../../core/vector"; import { BaseItem } from "../base_item"; import { ItemEjectorComponent } from "../components/item_ejector"; import { Entity } from "../entity"; import { GameSystemWithFilter } from "../game_system_with_filter"; -import { enumItemProcessorTypes } from "../components/item_processor"; import { MapChunkView } from "../map_chunk_view"; const logger = createLogger("systems/ejector"); diff --git a/src/js/game/systems/item_processor.js b/src/js/game/systems/item_processor.js index 67fffdb7..90a651e6 100644 --- a/src/js/game/systems/item_processor.js +++ b/src/js/game/systems/item_processor.js @@ -117,14 +117,6 @@ export class ItemProcessorSystem extends GameSystemWithFilter { return false; } - // Check if "false" was passed in - const item = network.currentValue; - if (item.getItemType() === "boolean") { - if (!(/** @type {BooleanItem} */ (item).value)) { - return false; - } - } - // Otherwise, all good return true; } diff --git a/src/js/game/systems/item_processor_overlays.js b/src/js/game/systems/item_processor_overlays.js index 828ded96..f1222d35 100644 --- a/src/js/game/systems/item_processor_overlays.js +++ b/src/js/game/systems/item_processor_overlays.js @@ -53,11 +53,11 @@ export class ItemProcessorOverlaysSystem extends GameSystem { switch (requirement) { case enumItemProcessorRequirements.painterQuad: { - this.drawConnectedSlotRequirement(parameters, entity); + this.drawConnectedSlotRequirement(parameters, entity, { drawIfFalse: true }); break; } case enumItemProcessorRequirements.filter: { - this.drawConnectedSlotRequirement(parameters, entity); + this.drawConnectedSlotRequirement(parameters, entity, { drawIfFalse: false }); break; } } @@ -100,8 +100,10 @@ export class ItemProcessorOverlaysSystem extends GameSystem { * * @param {import("../../core/draw_utils").DrawParameters} parameters * @param {Entity} entity + * @param {object} param0 + * @param {boolean=} param0.drawIfFalse */ - drawConnectedSlotRequirement(parameters, entity) { + drawConnectedSlotRequirement(parameters, entity, { drawIfFalse = true }) { const staticComp = entity.components.StaticMapEntity; const pinsComp = entity.components.WiredPins; @@ -114,7 +116,7 @@ export class ItemProcessorOverlaysSystem extends GameSystem { if (network && network.currentValue) { anySlotConnected = true; - if (isTrueItem(network.currentValue)) { + if (isTrueItem(network.currentValue) || !drawIfFalse) { // No need to draw anything return; } diff --git a/src/js/profile/application_settings.js b/src/js/profile/application_settings.js index ba4a033e..6a2a68a6 100644 --- a/src/js/profile/application_settings.js +++ b/src/js/profile/application_settings.js @@ -123,6 +123,15 @@ export const autosaveIntervals = [ }, ]; +const refreshRateOptions = ["60", "75", "100", "120", "144", "165", "250", "500"]; + +if (G_IS_DEV) { + refreshRateOptions.push("1000"); + refreshRateOptions.push("2000"); + refreshRateOptions.push("5000"); + refreshRateOptions.push("10000"); +} + /** @type {Array} */ export const allApplicationSettings = [ new EnumSetting("language", { @@ -251,7 +260,7 @@ export const allApplicationSettings = [ new BoolSetting("rotationByBuilding", enumCategories.advanced, (app, value) => {}), new EnumSetting("refreshRate", { - options: ["60", "75", "100", "120", "144", "165", "250", "500"], + options: refreshRateOptions, valueGetter: rate => rate, textGetter: rate => rate + " Hz", category: enumCategories.performance,