diff --git a/src/renderer/src/intl/en-US.ts b/src/renderer/src/intl/en-US.ts index 59a096a..1ca6217 100644 --- a/src/renderer/src/intl/en-US.ts +++ b/src/renderer/src/intl/en-US.ts @@ -292,8 +292,8 @@ export default { sectorCoreBorderColor: 'Core Sector Border Color', sectorFrontierBorderStroke: 'Frontier Sector Borders', sectorFrontierBorderColor: 'Frontier Sector Border Color', - unionBorderStroke: 'Union Borders', - unionBorderColor: 'Union Border Color', + unionBorderStroke: 'Union Joined Borders', + unionBorderColor: 'Union Joined Border Color', unionMode: 'Union Mode', unionSubjects: 'Subjects', unionHegemonies: 'Hegemony Federations', @@ -445,6 +445,9 @@ export default { default: { name: 'Empires', }, + unions: { + name: 'Unions', + }, wars: { name: 'Wars', tooltip_label: 'War Status', diff --git a/src/renderer/src/lib/SettingControl/index.svelte b/src/renderer/src/lib/SettingControl/index.svelte index 8f0af99..e8fb4e9 100644 --- a/src/renderer/src/lib/SettingControl/index.svelte +++ b/src/renderer/src/lib/SettingControl/index.svelte @@ -96,7 +96,7 @@ {/if}
- {#if config.type === 'stroke' || config.type === 'icon'} + {#if (config.type === 'stroke' && !config.noDisable) || config.type === 'icon'}
= { id: 'default', name: 'map_mode.default.name', }, + unions: { + id: 'unions', + name: 'map_mode.unions.name', + }, wars: { id: 'wars', name: 'map_mode.wars.name', diff --git a/src/renderer/src/lib/map/data/processMapData.ts b/src/renderer/src/lib/map/data/processMapData.ts index 7e12509..a857539 100644 --- a/src/renderer/src/lib/map/data/processMapData.ts +++ b/src/renderer/src/lib/map/data/processMapData.ts @@ -36,7 +36,7 @@ export default async function processMapData( const settings = { ...rawSettings }; if (settings.hyperlaneMetroStyle) settings.alignStarsToGrid = true; if (settings.alignStarsToGrid) settings.hyperlaneSensitiveBorders = false; - if (settings.mapMode !== 'default') settings.unionMode = false; + settings.unionMode = settings.mapMode === 'unions'; // get these started right away; await just before needed const emblemsPromise = timeItAsync( diff --git a/src/renderer/src/lib/settings/SettingConfig.ts b/src/renderer/src/lib/settings/SettingConfig.ts index 78192e9..350d0a5 100644 --- a/src/renderer/src/lib/settings/SettingConfig.ts +++ b/src/renderer/src/lib/settings/SettingConfig.ts @@ -66,6 +66,7 @@ export interface SettingConfigStroke extends SettingConfigBase; noSmoothing?: boolean; noDashed?: boolean; + noDisable?: boolean; } export interface SettingConfigIcon extends SettingConfigBase { diff --git a/src/renderer/src/lib/settings/mapSettingsConfig.ts b/src/renderer/src/lib/settings/mapSettingsConfig.ts index 94ac585..26abcd5 100644 --- a/src/renderer/src/lib/settings/mapSettingsConfig.ts +++ b/src/renderer/src/lib/settings/mapSettingsConfig.ts @@ -116,57 +116,48 @@ export const mapSettingsConfig: MapSettingConfigGroup[] = [ hideIf: (settings) => !settings.sectorTypeBorderStyles || !settings.sectorBorderStroke.enabled, }, - { - id: 'unionBorderStroke', - type: 'stroke', - requiresReprocessing: (prev, next) => prev.smoothing !== next.smoothing, - hideIf: (settings) => - !settings.unionMode || - ![settings.unionFederations, settings.unionHegemonies, settings.unionSubjects].includes( - 'joinedBorders', - ), - }, - { - id: 'unionBorderColor', - type: 'color', - hideIf: (settings) => - !settings.unionBorderStroke.enabled || - !settings.unionMode || - ![settings.unionFederations, settings.unionHegemonies, settings.unionSubjects].includes( - 'joinedBorders', - ), - }, ], }, { id: 'unions', name: 'setting.group.unions', settings: [ - { - id: 'unionMode', - type: 'toggle', - requiresReprocessing: true, - }, { id: 'unionSubjects', requiresReprocessing: true, type: 'select', options: unionOptions, - hideIf: (settings) => !settings.unionMode, }, { id: 'unionHegemonies', requiresReprocessing: true, type: 'select', options: unionOptions, - hideIf: (settings) => !settings.unionMode, }, { id: 'unionFederations', requiresReprocessing: true, type: 'select', options: unionOptions, - hideIf: (settings) => !settings.unionMode, + }, + { + id: 'unionBorderStroke', + type: 'stroke', + requiresReprocessing: (prev, next) => prev.smoothing !== next.smoothing, + hideIf: (settings) => + ![settings.unionFederations, settings.unionHegemonies, settings.unionSubjects].includes( + 'joinedBorders', + ), + noDisable: true, + }, + { + id: 'unionBorderColor', + type: 'color', + hideIf: (settings) => + !settings.unionBorderStroke.enabled || + ![settings.unionFederations, settings.unionHegemonies, settings.unionSubjects].includes( + 'joinedBorders', + ), }, { id: 'unionFederationsColor', @@ -177,14 +168,13 @@ export const mapSettingsConfig: MapSettingConfigGroup[] = [ { id: 'leader', name: 'option.union_federations_color.leader' }, ], hideIf: (settings) => - !settings.unionMode || - (settings.unionFederations === 'off' && settings.unionHegemonies === 'off'), + settings.unionFederations === 'off' && settings.unionHegemonies === 'off', }, { id: 'unionLeaderSymbol', type: 'select', options: glyphOptions, - hideIf: (settings) => !settings.unionMode || !settings.countryEmblems, + hideIf: (settings) => !settings.countryEmblems, }, { id: 'unionLeaderSymbolSize', @@ -192,13 +182,12 @@ export const mapSettingsConfig: MapSettingConfigGroup[] = [ min: 0.05, max: 1, step: 0.05, - hideIf: (settings) => - !settings.unionMode || !settings.countryEmblems || settings.unionLeaderSymbol === 'none', + hideIf: (settings) => !settings.countryEmblems || settings.unionLeaderSymbol === 'none', }, { id: 'unionLeaderUnderline', type: 'toggle', - hideIf: (settings) => !settings.unionMode || !settings.countryNames, + hideIf: (settings) => !settings.countryNames, }, ], },