summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorxXJSONDeruloXx <danielhimebauch@gmail.com>2025-07-18 16:24:43 -0400
committerxXJSONDeruloXx <danielhimebauch@gmail.com>2025-07-18 16:24:43 -0400
commit748351384705323a87f7ebc388a3ab858b9ac62f (patch)
tree6fe510f40b145d9ddfd0a074b14b5d6d8b60a1d5 /src
parent1d296606babfb0ceb02068e852582ade7adc4d98 (diff)
downloaddecky-lsfg-vk-748351384705323a87f7ebc388a3ab858b9ac62f.tar.gz
decky-lsfg-vk-748351384705323a87f7ebc388a3ab858b9ac62f.zip
initial env var additions
Diffstat (limited to 'src')
-rw-r--r--src/api/lsfgApi.ts4
-rw-r--r--src/components/ConfigurationSection.tsx34
-rw-r--r--src/config/configSchema.ts16
3 files changed, 52 insertions, 2 deletions
diff --git a/src/api/lsfgApi.ts b/src/api/lsfgApi.ts
index 5d866ef..5770c43 100644
--- a/src/api/lsfgApi.ts
+++ b/src/api/lsfgApi.ts
@@ -83,14 +83,14 @@ export const getLaunchOption = callable<[], LaunchOptionResult>("get_launch_opti
// Updated config function using centralized configuration
export const updateLsfgConfig = callable<
- [boolean, string, number, number, boolean, boolean, string, number],
+ [boolean, string, number, number, boolean, boolean, string, number, boolean, boolean],
ConfigUpdateResult
>("update_lsfg_config");
// Helper function to create config update from configuration object
export const updateLsfgConfigFromObject = async (config: ConfigurationData): Promise<ConfigUpdateResult> => {
const args = ConfigurationManager.createArgsFromConfig(config);
- return updateLsfgConfig(...args as [boolean, string, number, number, boolean, boolean, string, number]);
+ return updateLsfgConfig(...args as [boolean, string, number, number, boolean, boolean, string, number, boolean, boolean]);
};
// Self-updater API functions
diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx
index dc8da89..1748839 100644
--- a/src/components/ConfigurationSection.tsx
+++ b/src/components/ConfigurationSection.tsx
@@ -106,6 +106,40 @@ export function ConfigurationSection({
color: "white"
}}
>
+ Environment Variables
+ </div>
+ </PanelSectionRow>
+
+ <PanelSectionRow>
+ <ToggleField
+ label="Enable WOW64 for 32-bit games"
+ description="Enables PROTON_USE_WOW64=1 for 32-bit games (use with ProtonGE to fix crashing)"
+ checked={config.enable_wow64}
+ onChange={(value) => onConfigChange('enable_wow64', value)}
+ />
+ </PanelSectionRow>
+
+ <PanelSectionRow>
+ <ToggleField
+ label="Disable Steam Deck Mode"
+ description="Disables Steam Deck mode (unlocks hidden settings in some games)"
+ checked={config.disable_steamdeck_mode}
+ onChange={(value) => onConfigChange('disable_steamdeck_mode', value)}
+ />
+ </PanelSectionRow>
+
+ <PanelSectionRow>
+ <div
+ style={{
+ fontSize: "14px",
+ fontWeight: "bold",
+ marginTop: "16px",
+ marginBottom: "8px",
+ borderBottom: "1px solid rgba(255, 255, 255, 0.2)",
+ paddingBottom: "4px",
+ color: "white"
+ }}
+ >
Experimental Features
</div>
</PanelSectionRow>
diff --git a/src/config/configSchema.ts b/src/config/configSchema.ts
index 9b6fc41..8715057 100644
--- a/src/config/configSchema.ts
+++ b/src/config/configSchema.ts
@@ -77,6 +77,20 @@ export const CONFIG_SCHEMA: Record<string, ConfigField> = {
fieldType: ConfigFieldType.INTEGER,
default: 0,
description: "experimental: base framerate cap for dxvk games, before frame multiplier (0 = disabled)"
+ },
+
+ enable_wow64: {
+ name: "enable_wow64",
+ fieldType: ConfigFieldType.BOOLEAN,
+ default: false,
+ description: "enable PROTON_USE_WOW64=1 for 32-bit games (use with ProtonGE to fix crashing)"
+ },
+
+ disable_steamdeck_mode: {
+ name: "disable_steamdeck_mode",
+ fieldType: ConfigFieldType.BOOLEAN,
+ default: false,
+ description: "disable Steam Deck mode (unlocks hidden settings in some games)"
}
};
@@ -90,6 +104,8 @@ export interface ConfigurationData {
hdr_mode: boolean;
experimental_present_mode: string;
experimental_fps_limit: number;
+ enable_wow64: boolean;
+ disable_steamdeck_mode: boolean;
}
// Centralized configuration manager