diff --git a/resources/lang/en.json b/resources/lang/en.json index 18fa3da00..f3016e666 100644 --- a/resources/lang/en.json +++ b/resources/lang/en.json @@ -946,6 +946,7 @@ "highlight_thicken_desc": "How much the border thickens on hover", "rail_distance_label": "Train track draw distance", "rail_distance_desc": "How far zoomed out train tracks remain visible", + "section_effects": "Effects", "reset_label": "Reset to defaults", "reset_desc": "Clear all graphics overrides" }, diff --git a/src/client/UserSettingModal.ts b/src/client/UserSettingModal.ts index b0a260a70..fe52b0a02 100644 --- a/src/client/UserSettingModal.ts +++ b/src/client/UserSettingModal.ts @@ -221,15 +221,6 @@ export class UserSettingModal extends BaseModal { ); } - private toggleFxLayer() { - this.userSettings.toggleFxLayer(); - - console.log( - "💥 Special effects:", - this.userSettings.fxLayer() ? "ON" : "OFF", - ); - } - private toggleCursorCostLabel() { this.userSettings.toggleCursorCostLabel(); @@ -769,15 +760,6 @@ export class UserSettingModal extends BaseModal { @change=${this.toggleAlertFrame} > - - - ) { + const current = this.userSettings.graphicsOverrides(); + this.userSettings.setGraphicsOverrides({ + ...current, + passEnabled: { ...current.passEnabled, ...patch }, + }); + this.requestUpdate(); + } + + private currentSpecialEffects(): boolean { + return ( + this.userSettings.graphicsOverrides().passEnabled?.fx ?? + renderDefaults.passEnabled.fx + ); + } + + private onToggleSpecialEffects() { + this.patchPassEnabled({ fx: !this.currentSpecialEffects() }); + } + private onNameScaleChange(event: Event) { const value = parseFloat((event.target as HTMLInputElement).value); this.patchName({ nameScaleFactor: value }); @@ -504,6 +524,31 @@ export class GraphicsSettingsModal extends LitElement implements Controller { + + ${translateText("graphics_setting.section_effects")} + + + + + + ${translateText("user_setting.special_effects_label")} + + + ${translateText("user_setting.special_effects_desc")} + + + + ${this.currentSpecialEffects() + ? translateText("user_setting.on") + : translateText("user_setting.off")} + + + - - - - - ${translateText("user_setting.special_effects_label")} - - - ${translateText("user_setting.special_effects_desc")} - - - - ${this.userSettings.fxLayer() - ? translateText("user_setting.on") - : translateText("user_setting.off")} - - -