diff options
| author | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2025-07-22 11:11:44 -0400 |
|---|---|---|
| committer | xXJSONDeruloXx <danielhimebauch@gmail.com> | 2025-07-22 11:11:44 -0400 |
| commit | c02343e68874efd57c2e312cb6b7e4f02222e43a (patch) | |
| tree | 31e7a46aca624de9eeb778f2337b2c0d9906b628 /src | |
| parent | 97bb41947bd44a712ad26905771a9d2cc4692878 (diff) | |
| download | decky-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.ts | 4 | ||||
| -rw-r--r-- | src/components/ConfigurationSection.tsx | 18 | ||||
| -rw-r--r-- | src/config/configSchema.ts | 6 | ||||
| -rw-r--r-- | src/config/generatedConfigSchema.ts | 18 |
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, }; } |
