Allow configuring map resources scale
This commit is contained in:
parent
21c9c3cee6
commit
5a96e76151
|
@ -13,6 +13,17 @@ import { getStringForKeyCode } from "../game/key_action_mapper";
|
||||||
import { createLogger } from "./logging";
|
import { createLogger } from "./logging";
|
||||||
import { T } from "../translations";
|
import { T } from "../translations";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ***************************************************
|
||||||
|
*
|
||||||
|
* LEGACY CODE WARNING
|
||||||
|
*
|
||||||
|
* This is old code from yorg3.io and needs to be refactored
|
||||||
|
* @TODO
|
||||||
|
*
|
||||||
|
* ***************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
const kbEnter = 13;
|
const kbEnter = 13;
|
||||||
const kbCancel = 27;
|
const kbCancel = 27;
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,17 @@ import { BaseItem } from "../game/base_item";
|
||||||
import { ClickDetector } from "./click_detector";
|
import { ClickDetector } from "./click_detector";
|
||||||
import { Signal } from "./signal";
|
import { Signal } from "./signal";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ***************************************************
|
||||||
|
*
|
||||||
|
* LEGACY CODE WARNING
|
||||||
|
*
|
||||||
|
* This is old code from yorg3.io and needs to be refactored
|
||||||
|
* @TODO
|
||||||
|
*
|
||||||
|
* ***************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
export class FormElement {
|
export class FormElement {
|
||||||
constructor(id, label) {
|
constructor(id, label) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
|
|
|
@ -122,6 +122,7 @@ export const KEYCODE_RMB = 3;
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
*/
|
*/
|
||||||
export function getStringForKeyCode(code) {
|
export function getStringForKeyCode(code) {
|
||||||
|
// @todo: Refactor into dictionary
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case KEYCODE_LMB:
|
case KEYCODE_LMB:
|
||||||
return "LMB";
|
return "LMB";
|
||||||
|
|
|
@ -104,15 +104,17 @@ export class MapChunkView extends MapChunk {
|
||||||
});
|
});
|
||||||
|
|
||||||
parameters.context.imageSmoothingEnabled = true;
|
parameters.context.imageSmoothingEnabled = true;
|
||||||
|
const resourcesScale = this.root.app.settings.getAllSettings().mapResourcesScale;
|
||||||
|
|
||||||
// Draw patch items
|
// Draw patch items
|
||||||
if (this.root.currentLayer === "regular") {
|
if (this.root.currentLayer === "regular" && resourcesScale > 0.05) {
|
||||||
|
const diameter = (70 / Math.pow(parameters.zoomLevel, 0.35)) * (0.2 + 2 * resourcesScale);
|
||||||
|
|
||||||
for (let i = 0; i < this.patches.length; ++i) {
|
for (let i = 0; i < this.patches.length; ++i) {
|
||||||
const patch = this.patches[i];
|
const patch = this.patches[i];
|
||||||
if (patch.item.getItemType() === "shape") {
|
if (patch.item.getItemType() === "shape") {
|
||||||
const destX = this.x * dims + patch.pos.x * globalConfig.tileSize;
|
const destX = this.x * dims + patch.pos.x * globalConfig.tileSize;
|
||||||
const destY = this.y * dims + patch.pos.y * globalConfig.tileSize;
|
const destY = this.y * dims + patch.pos.y * globalConfig.tileSize;
|
||||||
const diameter = 80 / Math.pow(parameters.zoomLevel, 0.35);
|
|
||||||
patch.item.drawItemCenteredClipped(destX, destY, parameters, diameter);
|
patch.item.drawItemCenteredClipped(destX, destY, parameters, diameter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -267,6 +267,7 @@ export const allApplicationSettings = [
|
||||||
new BoolSetting("rotationByBuilding", enumCategories.advanced, (app, value) => {}),
|
new BoolSetting("rotationByBuilding", enumCategories.advanced, (app, value) => {}),
|
||||||
new BoolSetting("displayChunkBorders", enumCategories.advanced, (app, value) => {}),
|
new BoolSetting("displayChunkBorders", enumCategories.advanced, (app, value) => {}),
|
||||||
new BoolSetting("pickMinerOnPatch", enumCategories.advanced, (app, value) => {}),
|
new BoolSetting("pickMinerOnPatch", enumCategories.advanced, (app, value) => {}),
|
||||||
|
new RangeSetting("mapResourcesScale", enumCategories.advanced, () => null),
|
||||||
|
|
||||||
new EnumSetting("refreshRate", {
|
new EnumSetting("refreshRate", {
|
||||||
options: refreshRateOptions,
|
options: refreshRateOptions,
|
||||||
|
@ -324,6 +325,7 @@ class SettingsStorage {
|
||||||
this.lowQualityTextures = false;
|
this.lowQualityTextures = false;
|
||||||
this.simplifiedBelts = false;
|
this.simplifiedBelts = false;
|
||||||
this.zoomToCursor = true;
|
this.zoomToCursor = true;
|
||||||
|
this.mapResourcesScale = 0.5;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {Object.<string, number>}
|
* @type {Object.<string, number>}
|
||||||
|
@ -534,7 +536,7 @@ export class ApplicationSettings extends ReadWriteProxy {
|
||||||
}
|
}
|
||||||
|
|
||||||
getCurrentVersion() {
|
getCurrentVersion() {
|
||||||
return 29;
|
return 30;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @param {{settings: SettingsStorage, version: number}} data */
|
/** @param {{settings: SettingsStorage, version: number}} data */
|
||||||
|
@ -672,6 +674,11 @@ export class ApplicationSettings extends ReadWriteProxy {
|
||||||
data.version = 29;
|
data.version = 29;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (data.version < 30) {
|
||||||
|
data.settings.mapResourcesScale = 0.5;
|
||||||
|
data.version = 30;
|
||||||
|
}
|
||||||
|
|
||||||
return ExplainedResult.good();
|
return ExplainedResult.good();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,17 @@ import { T } from "../translations";
|
||||||
|
|
||||||
const logger = createLogger("setting_types");
|
const logger = createLogger("setting_types");
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ***************************************************
|
||||||
|
*
|
||||||
|
* LEGACY CODE WARNING
|
||||||
|
*
|
||||||
|
* This is old code from yorg3.io and needs to be refactored
|
||||||
|
* @TODO
|
||||||
|
*
|
||||||
|
* ***************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
export class BaseSetting {
|
export class BaseSetting {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
|
@ -1030,6 +1030,11 @@ settings:
|
||||||
description: >-
|
description: >-
|
||||||
If activated the zoom will happen in the direction of your mouse position, otherwise in the middle of the screen.
|
If activated the zoom will happen in the direction of your mouse position, otherwise in the middle of the screen.
|
||||||
|
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: >-
|
||||||
|
Controls the size of the shapes on the map overview (when zooming out).
|
||||||
|
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Keybindings
|
title: Keybindings
|
||||||
hint: >-
|
hint: >-
|
||||||
|
|
Reference in New Issue