From 6b701637ad308513b678c80baceec6c79e339ce9 Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Thu, 17 Jul 2025 14:22:56 -0400 Subject: initial conf FE and BE hooks --- src/components/ConfigurationSection.tsx | 67 +++++++++++---------------------- 1 file changed, 23 insertions(+), 44 deletions(-) (limited to 'src/components/ConfigurationSection.tsx') diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index 2545217..118b418 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -1,9 +1,9 @@ -import { PanelSectionRow, ToggleField, SliderField } from "@decky/ui"; +import { PanelSectionRow, ToggleField, SliderField, TextField } from "@decky/ui"; import { ConfigurationData } from "../config/configSchema"; interface ConfigurationSectionProps { config: ConfigurationData; - onConfigChange: (fieldName: keyof ConfigurationData, value: boolean | number) => Promise; + onConfigChange: (fieldName: keyof ConfigurationData, value: boolean | number | string) => Promise; } export function ConfigurationSection({ @@ -30,16 +30,25 @@ export function ConfigurationSection({ onConfigChange('enable_lsfg', value)} + description="enable/disable lsfg on every game" + checked={config.enable} + onChange={(value) => onConfigChange('enable', value)} + /> + + + + onConfigChange('dll', e.target.value)} /> - - onConfigChange('hdr', value)} - /> - - onConfigChange('perf_mode', value)} + description="toggle performance mode (2x-8x performance increase)" + checked={config.performance_mode} + onChange={(value) => onConfigChange('performance_mode', value)} /> onConfigChange('immediate_mode', value)} - /> - - - - onConfigChange('frame_cap', value)} + label="HDR Mode" + description="enable hdr mode (doesn't support scrgb)" + checked={config.hdr_mode} + onChange={(value) => onConfigChange('hdr_mode', value)} /> - - {/* - onConfigChange('disable_vkbasalt', value)} - /> - */} ); } -- cgit v1.2.3 From ad0ba0fc61f83e2aaf22192e7d0ad05dde9ffd62 Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Thu, 17 Jul 2025 14:53:18 -0400 Subject: fix descriptions and cleanup UI --- src/components/ConfigurationSection.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/components/ConfigurationSection.tsx') diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index 118b418..a1c175a 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -30,25 +30,25 @@ export function ConfigurationSection({ onConfigChange('enable', value)} /> - + {/* onConfigChange('dll', e.target.value)} /> - + */} onConfigChange('performance_mode', value)} /> @@ -87,7 +87,7 @@ export function ConfigurationSection({ onConfigChange('hdr_mode', value)} /> -- cgit v1.2.3 From f2870ff308131a0a4c970edf36bb88aac10a6175 Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Thu, 17 Jul 2025 21:35:54 -0400 Subject: fix dll config write crash, add multiplier = 1 --- src/components/ConfigurationSection.tsx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src/components/ConfigurationSection.tsx') diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index a1c175a..deb8fba 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -48,16 +48,17 @@ export function ConfigurationSection({ onConfigChange('multiplier', value)} /> -- cgit v1.2.3 From 0670041467ca5625d93e3e4dbc2f738da24d88b4 Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Thu, 17 Jul 2025 23:23:03 -0400 Subject: add experimental toggles --- src/components/ConfigurationSection.tsx | 46 ++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) (limited to 'src/components/ConfigurationSection.tsx') diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index deb8fba..76b9bc2 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -1,4 +1,4 @@ -import { PanelSectionRow, ToggleField, SliderField, TextField } from "@decky/ui"; +import { PanelSectionRow, ToggleField, SliderField, Dropdown } from "@decky/ui"; import { ConfigurationData } from "../config/configSchema"; interface ConfigurationSectionProps { @@ -93,6 +93,50 @@ export function ConfigurationSection({ onChange={(value) => onConfigChange('hdr_mode', value)} /> + + {/* Experimental Features Section */} + +
+ ⚠️ Experimental Features +
+
+ + + onConfigChange('experimental_present_mode', value.data)} + rgOptions={[ + { data: "", label: "Default (FIFO)" }, + { data: "fifo", label: "FIFO" }, + { data: "vsync", label: "VSync" }, + { data: "mailbox", label: "Mailbox" }, + { data: "immediate", label: "Immediate" } + ]} + /> + + + + 0 ? ` (${config.experimental_fps_limit} FPS)` : ' (Off)'}`} + description="Base framerate cap for DXVK games, before frame multiplier (0 = disabled)" + value={config.experimental_fps_limit} + min={0} + max={60} + step={1} + onChange={(value) => onConfigChange('experimental_fps_limit', value)} + /> + ); } -- cgit v1.2.3 From a921fc8168e13934bdfe6d159aee14ee2651949e Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Thu, 17 Jul 2025 23:44:51 -0400 Subject: styling cleanup --- src/components/ConfigurationSection.tsx | 47 ++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 16 deletions(-) (limited to 'src/components/ConfigurationSection.tsx') diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index 76b9bc2..0ee605c 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -94,17 +94,16 @@ export function ConfigurationSection({ />
- {/* Experimental Features Section */}
⚠️ Experimental Features @@ -112,18 +111,34 @@ export function ConfigurationSection({ - onConfigChange('experimental_present_mode', value.data)} - rgOptions={[ - { data: "", label: "Default (FIFO)" }, - { data: "fifo", label: "FIFO" }, - { data: "vsync", label: "VSync" }, - { data: "mailbox", label: "Mailbox" }, - { data: "immediate", label: "Immediate" } - ]} - /> +
+
+ Override Vulkan present mode +
+
+ Select a specific Vulkan presentation mode for better performance or compatibility +
+ onConfigChange('experimental_present_mode', value.data)} + rgOptions={[ + { data: "", label: "Default (FIFO)" }, + { data: "fifo", label: "FIFO" }, + { data: "vsync", label: "VSync" }, + { data: "mailbox", label: "Mailbox" }, + { data: "immediate", label: "Immediate" } + ]} + /> +
-- cgit v1.2.3 From 14b08ac219dc134e130fc89b02c5a963d93bf243 Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Fri, 18 Jul 2025 00:06:11 -0400 Subject: fix experimental section formatting --- src/components/ConfigurationSection.tsx | 46 ++++++++++++--------------------- 1 file changed, 16 insertions(+), 30 deletions(-) (limited to 'src/components/ConfigurationSection.tsx') diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index 0ee605c..8433b04 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -1,4 +1,4 @@ -import { PanelSectionRow, ToggleField, SliderField, Dropdown } from "@decky/ui"; +import { PanelSectionRow, ToggleField, SliderField, DropdownItem } from "@decky/ui"; import { ConfigurationData } from "../config/configSchema"; interface ConfigurationSectionProps { @@ -106,39 +106,25 @@ export function ConfigurationSection({ color: "white" }} > - ⚠️ Experimental Features + Experimental Features
-
-
- Override Vulkan present mode -
-
- Select a specific Vulkan presentation mode for better performance or compatibility -
- onConfigChange('experimental_present_mode', value.data)} - rgOptions={[ - { data: "", label: "Default (FIFO)" }, - { data: "fifo", label: "FIFO" }, - { data: "vsync", label: "VSync" }, - { data: "mailbox", label: "Mailbox" }, - { data: "immediate", label: "Immediate" } - ]} - /> -
+ onConfigChange('experimental_present_mode', value.data)} + rgOptions={[ + { data: "", label: "Default (FIFO)" }, + { data: "fifo", label: "FIFO" }, + { data: "vsync", label: "VSync" }, + { data: "mailbox", label: "Mailbox" }, + { data: "immediate", label: "Immediate" } + ]} + />
-- cgit v1.2.3 From 4ab2952d1b3bd5b87e9b9766c0b098f1b4885340 Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Fri, 18 Jul 2025 09:15:00 -0400 Subject: description tweak --- src/components/ConfigurationSection.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/components/ConfigurationSection.tsx') diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index 8433b04..794a860 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -130,7 +130,7 @@ export function ConfigurationSection({ 0 ? ` (${config.experimental_fps_limit} FPS)` : ' (Off)'}`} - description="Base framerate cap for DXVK games, before frame multiplier (0 = disabled)" + description="Base framerate cap for DirectX games, before frame multiplier (0 = disabled)" value={config.experimental_fps_limit} min={0} max={60} -- cgit v1.2.3 From da113f878447e0830d414bb90b79b9a03d8cedec Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Fri, 18 Jul 2025 09:17:16 -0400 Subject: fix label for multiplier --- src/components/ConfigurationSection.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/components/ConfigurationSection.tsx') diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index 794a860..f44dd4f 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -55,7 +55,7 @@ export function ConfigurationSection({ step={1} notchCount={4} notchLabels={[ - { notchIndex: 0, label: "1X" }, + { notchIndex: 0, label: "OFF" }, { notchIndex: 1, label: "2X" }, { notchIndex: 2, label: "3X" }, { notchIndex: 3, label: "4X" } -- cgit v1.2.3 From f3846f88402b6216675c9c48c04ab5a30cce3062 Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Fri, 18 Jul 2025 12:12:55 -0400 Subject: restore clipboard wiki button --- src/components/ConfigurationSection.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/components/ConfigurationSection.tsx') diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index f44dd4f..bfbeb98 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -48,7 +48,7 @@ export function ConfigurationSection({ Date: Fri, 18 Jul 2025 12:24:07 -0400 Subject: feat: hide depreciated enable toggle --- src/components/ConfigurationSection.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/components/ConfigurationSection.tsx') diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index bfbeb98..19c10ea 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -27,14 +27,14 @@ export function ConfigurationSection({ - + {/* onConfigChange('enable', value)} /> - + */} {/* Date: Fri, 18 Jul 2025 12:46:16 -0400 Subject: update descriptions and layouts --- src/components/ConfigurationSection.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/components/ConfigurationSection.tsx') diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index 19c10ea..8aeded7 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -67,7 +67,7 @@ export function ConfigurationSection({ onConfigChange('performance_mode', value)} /> @@ -118,7 +118,7 @@ export function ConfigurationSection({ selectedOption={config.experimental_present_mode} onChange={(value) => onConfigChange('experimental_present_mode', value.data)} rgOptions={[ - { data: "", label: "Default (FIFO)" }, + { data: "", label: "Default" }, { data: "fifo", label: "FIFO" }, { data: "vsync", label: "VSync" }, { data: "mailbox", label: "Mailbox" }, @@ -130,7 +130,7 @@ export function ConfigurationSection({ 0 ? ` (${config.experimental_fps_limit} FPS)` : ' (Off)'}`} - description="Base framerate cap for DirectX games, before frame multiplier (0 = disabled)" + description="Base framerate cap for DirectX games, before frame multiplier" value={config.experimental_fps_limit} min={0} max={60} -- cgit v1.2.3 From 2bb4544db5a506fbd27e40881f924e839308f6a0 Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Fri, 18 Jul 2025 13:20:40 -0400 Subject: update descriptions --- src/components/ConfigurationSection.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/components/ConfigurationSection.tsx') diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index 8aeded7..5767d08 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -113,7 +113,7 @@ export function ConfigurationSection({ onConfigChange('experimental_present_mode', value.data)} @@ -130,7 +130,7 @@ export function ConfigurationSection({ 0 ? ` (${config.experimental_fps_limit} FPS)` : ' (Off)'}`} - description="Base framerate cap for DirectX games, before frame multiplier" + description="Base framerate cap for DirectX games, before frame multiplier (requires game re-launch)" value={config.experimental_fps_limit} min={0} max={60} -- cgit v1.2.3 From bb76e4e61a608b9ce77de6f2e2bce2ce1f3839ea Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Fri, 18 Jul 2025 15:09:32 -0400 Subject: update descriptions --- src/components/ConfigurationSection.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/components/ConfigurationSection.tsx') diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx index 5767d08..dc8da89 100644 --- a/src/components/ConfigurationSection.tsx +++ b/src/components/ConfigurationSection.tsx @@ -48,7 +48,7 @@ export function ConfigurationSection({