summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorxXJSONDeruloXx <danielhimebauch@gmail.com>2025-07-22 11:11:44 -0400
committerxXJSONDeruloXx <danielhimebauch@gmail.com>2025-07-22 11:11:44 -0400
commitc02343e68874efd57c2e312cb6b7e4f02222e43a (patch)
tree31e7a46aca624de9eeb778f2337b2c0d9906b628 /src
parent97bb41947bd44a712ad26905771a9d2cc4692878 (diff)
downloaddecky-lsfg-vk-c02343e68874efd57c2e312cb6b7e4f02222e43a.tar.gz
decky-lsfg-vk-c02343e68874efd57c2e312cb6b7e4f02222e43a.zip
add workaround env vars, rm old tests
Diffstat (limited to 'src')
-rw-r--r--src/api/lsfgApi.ts4
-rw-r--r--src/components/ConfigurationSection.tsx18
-rw-r--r--src/config/configSchema.ts6
-rw-r--r--src/config/generatedConfigSchema.ts18
4 files changed, 42 insertions, 4 deletions
diff --git a/src/api/lsfgApi.ts b/src/api/lsfgApi.ts
index 74caa57..0b221e9 100644
--- a/src/api/lsfgApi.ts
+++ b/src/api/lsfgApi.ts
@@ -101,14 +101,14 @@ export const getLaunchScriptContent = callable<[], FileContentResult>("get_launc
// Updated config function using centralized configuration
export const updateLsfgConfig = callable<
- [string, number, number, boolean, boolean, string, number, boolean, boolean],
+ [string, number, number, boolean, boolean, string, number, boolean, boolean, 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 [string, number, number, boolean, boolean, string, number, boolean, boolean]);
+ return updateLsfgConfig(...args as [string, number, number, boolean, boolean, string, number, boolean, boolean, boolean, boolean]);
};
// Self-updater API functions
diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx
index 59ad880..26099e7 100644
--- a/src/components/ConfigurationSection.tsx
+++ b/src/components/ConfigurationSection.tsx
@@ -154,6 +154,24 @@ export function ConfigurationSection({
onChange={(value) => onConfigChange('disable_steamdeck_mode', value)}
/>
</PanelSectionRow>
+
+ <PanelSectionRow>
+ <ToggleField
+ label="MangoHud Workaround"
+ description="Enables a transparent mangohud overlay, sometimes fixes issues with 2X multiplier in game mode"
+ checked={config.mangohud_workaround}
+ onChange={(value) => onConfigChange('mangohud_workaround', value)}
+ />
+ </PanelSectionRow>
+
+ <PanelSectionRow>
+ <ToggleField
+ label="Disable vkBasalt"
+ description="Disables vkBasalt layer which can conflict with LSFG (Reshade, some Decky plugins)"
+ checked={config.disable_vkbasalt}
+ onChange={(value) => onConfigChange('disable_vkbasalt', value)}
+ />
+ </PanelSectionRow>
</>
);
}
diff --git a/src/config/configSchema.ts b/src/config/configSchema.ts
index 4ab0d25..979d3c9 100644
--- a/src/config/configSchema.ts
+++ b/src/config/configSchema.ts
@@ -52,7 +52,7 @@ export class ConfigurationManager {
/**
* Create args array from config object for lsfg API calls
*/
- static createArgsFromConfig(config: ConfigurationData): [string, number, number, boolean, boolean, string, number, boolean, boolean] {
+ static createArgsFromConfig(config: ConfigurationData): [string, number, number, boolean, boolean, string, number, boolean, boolean, boolean, boolean] {
return [
config.dll,
config.multiplier,
@@ -62,7 +62,9 @@ export class ConfigurationManager {
config.experimental_present_mode,
config.dxvk_frame_rate,
config.enable_wow64,
- config.disable_steamdeck_mode
+ config.disable_steamdeck_mode,
+ config.mangohud_workaround,
+ config.disable_vkbasalt
];
}
diff --git a/src/config/generatedConfigSchema.ts b/src/config/generatedConfigSchema.ts
index 5f0e368..cb08252 100644
--- a/src/config/generatedConfigSchema.ts
+++ b/src/config/generatedConfigSchema.ts
@@ -71,6 +71,18 @@ export const CONFIG_SCHEMA: Record<string, ConfigField> = {
default: false,
description: "disable Steam Deck mode (unlocks hidden settings in some games)"
},
+ mangohud_workaround: {
+ name: "mangohud_workaround",
+ fieldType: ConfigFieldType.BOOLEAN,
+ default: false,
+ description: "Enables a transparent mangohud overlay, sometimes fixes issues with 2X multiplier in game mode"
+ },
+ disable_vkbasalt: {
+ name: "disable_vkbasalt",
+ fieldType: ConfigFieldType.BOOLEAN,
+ default: false,
+ description: "Disables vkBasalt layer which can conflict with LSFG (Reshade, some Decky plugins)"
+ },
};
// Type-safe configuration data structure
@@ -84,6 +96,8 @@ export interface ConfigurationData {
dxvk_frame_rate: number;
enable_wow64: boolean;
disable_steamdeck_mode: boolean;
+ mangohud_workaround: boolean;
+ disable_vkbasalt: boolean;
}
// Helper functions
@@ -102,6 +116,8 @@ export function getDefaults(): ConfigurationData {
dxvk_frame_rate: 0,
enable_wow64: false,
disable_steamdeck_mode: false,
+ mangohud_workaround: false,
+ disable_vkbasalt: false,
};
}
@@ -116,6 +132,8 @@ export function getFieldTypes(): Record<string, ConfigFieldType> {
dxvk_frame_rate: ConfigFieldType.INTEGER,
enable_wow64: ConfigFieldType.BOOLEAN,
disable_steamdeck_mode: ConfigFieldType.BOOLEAN,
+ mangohud_workaround: ConfigFieldType.BOOLEAN,
+ disable_vkbasalt: ConfigFieldType.BOOLEAN,
};
}