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,
},
],
},