From c0d33d58528c14fe812ac50ec4ccc3d985fdf8ed Mon Sep 17 00:00:00 2001 From: Danielv123 Date: Sun, 1 Dec 2024 11:05:18 +0000 Subject: [PATCH] In 2.0, icon_size is optional with a default of 64 - fixes #699 --- packages/host/src/export.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/host/src/export.ts b/packages/host/src/export.ts index 32e94a04..262a4fa2 100644 --- a/packages/host/src/export.ts +++ b/packages/host/src/export.ts @@ -15,12 +15,12 @@ interface Prototype { } interface SimpleIconSpecification { icon: string; - icon_size: number; + icon_size?: number; icon_mipmaps?: number; } interface IconLayer { icon: string; - icon_size: number; + icon_size?: number; tint?: lib.FactorioColor, shift?: [number, number], scale?: number, @@ -28,7 +28,7 @@ interface IconLayer { } interface LayeredIconSpecification { icons: IconLayer[]; - icon_size: number; + icon_size?: number; icon_mipmaps?: number; } type IconSpecification = LayeredIconSpecification | SimpleIconSpecification; @@ -165,9 +165,9 @@ async function loadSimpleIcon( size: number, iconCache: IconCache, ) { - let icon = await loadIcon(server, modVersions, item.icon, item.icon_size, 0, iconCache); + let icon = await loadIcon(server, modVersions, item.icon, item.icon_size ?? 64, 0, iconCache); if (icon) { - let iconScale = size / item.icon_size; + let iconScale = size / (item.icon_size ?? 64); if (iconScale !== 1) { icon = icon.clone(); icon.scale(iconScale); @@ -183,7 +183,7 @@ async function loadLayeredIcon( size: number, iconCache: IconCache, ) { - let baseLayerSize = item.icons[0].icon_size || item.icon_size; + let baseLayerSize = (item.icons[0].icon_size || item.icon_size) ?? 64; let icon = await Jimp.create(size, size); // The scaling factor of the base layer @@ -193,7 +193,7 @@ async function loadLayeredIcon( let baseUnit = size / (baseLayerSize * baseLayerScale); for (let layer of item.icons) { - let layerSize = layer.icon_size || item.icon_size; + let layerSize = (layer.icon_size || item.icon_size) ?? 64; let iconLayer = await loadIcon(server, modVersions, layer.icon, layerSize, layer.icon_mipmaps || 0, iconCache); if (!iconLayer) {