summaryrefslogtreecommitdiff
path: root/py_modules/lsfg_vk/config_schema_generated.py
diff options
context:
space:
mode:
authorxXJSONDeruloXx <danielhimebauch@gmail.com>2025-07-22 13:06:46 -0400
committerxXJSONDeruloXx <danielhimebauch@gmail.com>2025-07-22 13:06:46 -0400
commitdf0635f1bba611b8b44975057acd579102d209dd (patch)
tree79a3ae004d5de136a5b5647e87f325d62561f9de /py_modules/lsfg_vk/config_schema_generated.py
parentf8c09209513507ad9af7822c32119cf6d6fae0ac (diff)
downloaddecky-lsfg-vk-df0635f1bba611b8b44975057acd579102d209dd.tar.gz
decky-lsfg-vk-df0635f1bba611b8b44975057acd579102d209dd.zip
further automate population of hardcoded fields
Diffstat (limited to 'py_modules/lsfg_vk/config_schema_generated.py')
-rw-r--r--py_modules/lsfg_vk/config_schema_generated.py118
1 files changed, 118 insertions, 0 deletions
diff --git a/py_modules/lsfg_vk/config_schema_generated.py b/py_modules/lsfg_vk/config_schema_generated.py
new file mode 100644
index 0000000..46bc58f
--- /dev/null
+++ b/py_modules/lsfg_vk/config_schema_generated.py
@@ -0,0 +1,118 @@
+"""
+Auto-generated configuration schema components from shared_config.py
+DO NOT EDIT THIS FILE MANUALLY - it will be overwritten on build
+"""
+
+from typing import TypedDict, Dict, Any, Union, cast
+from enum import Enum
+import sys
+from pathlib import Path
+
+# Import shared configuration constants
+sys.path.insert(0, str(Path(__file__).parent.parent.parent))
+from shared_config import CONFIG_SCHEMA_DEF, ConfigFieldType
+
+
+class ConfigurationData(TypedDict):
+ """Type-safe configuration data structure - AUTO-GENERATED"""
+ dll: str
+ multiplier: int
+ flow_scale: float
+ performance_mode: bool
+ hdr_mode: bool
+ experimental_present_mode: str
+ dxvk_frame_rate: int
+ enable_wow64: bool
+ disable_steamdeck_mode: bool
+ mangohud_workaround: bool
+ disable_vkbasalt: bool
+
+
+def get_script_parsing_logic():
+ """Return the script parsing logic as a callable"""
+ def parse_script_values(lines):
+ script_values = {}
+ for line in lines:
+ line = line.strip()
+ if not line or line.startswith("#") or not line.startswith("export "):
+ continue
+ if "=" in line:
+ export_line = line[len("export "):]
+ key, value = export_line.split("=", 1)
+ key = key.strip()
+ value = value.strip()
+
+ # Auto-generated parsing logic:
+ if key == "DXVK_FRAME_RATE":
+ try:
+ script_values["dxvk_frame_rate"] = int(value)
+ except ValueError:
+ pass
+ if key == "PROTON_USE_WOW64":
+ script_values["enable_wow64"] = value == "1"
+ if key == "SteamDeck":
+ script_values["disable_steamdeck_mode"] = value == "0"
+ if key == "MANGOHUD":
+ script_values["mangohud_workaround"] = value == "1"
+ if key == "DISABLE_VKBASALT":
+ script_values["disable_vkbasalt"] = value == "1"
+
+ return script_values
+ return parse_script_values
+
+
+def get_script_generation_logic():
+ """Return the script generation logic as a callable"""
+ def generate_script_lines(config):
+ lines = []
+ dxvk_frame_rate = config.get("dxvk_frame_rate", 0)
+ if dxvk_frame_rate > 0:
+ lines.append(f"export DXVK_FRAME_RATE={dxvk_frame_rate}")
+ if config.get("enable_wow64", False):
+ lines.append("export PROTON_USE_WOW64=1")
+ if config.get("disable_steamdeck_mode", False):
+ lines.append("export SteamDeck=0")
+ if config.get("mangohud_workaround", False):
+ lines.append("export MANGOHUD=1")
+ if config.get("disable_vkbasalt", False):
+ lines.append("export DISABLE_VKBASALT=1")
+ return lines
+ return generate_script_lines
+
+
+def get_function_parameters() -> str:
+ """Return function signature parameters"""
+ return """dll: str = "/games/Lossless Scaling/Lossless.dll",
+ multiplier: int = 1,
+ flow_scale: float = 0.8,
+ performance_mode: bool = True,
+ hdr_mode: bool = False,
+ experimental_present_mode: str = "fifo",
+ dxvk_frame_rate: int = 0,
+ enable_wow64: bool = False,
+ disable_steamdeck_mode: bool = False,
+ mangohud_workaround: bool = False,
+ disable_vkbasalt: bool = False"""
+
+
+def create_config_dict(**kwargs) -> ConfigurationData:
+ """Create configuration dictionary from keyword arguments"""
+ return cast(ConfigurationData, {
+ "dll": dll,
+ "multiplier": multiplier,
+ "flow_scale": flow_scale,
+ "performance_mode": performance_mode,
+ "hdr_mode": hdr_mode,
+ "experimental_present_mode": experimental_present_mode,
+ "dxvk_frame_rate": dxvk_frame_rate,
+ "enable_wow64": enable_wow64,
+ "disable_steamdeck_mode": disable_steamdeck_mode,
+ "mangohud_workaround": mangohud_workaround,
+ "disable_vkbasalt": disable_vkbasalt,
+ })
+
+
+# Field lists for dynamic operations
+TOML_FIELDS = ['dll', 'multiplier', 'flow_scale', 'performance_mode', 'hdr_mode', 'experimental_present_mode']
+SCRIPT_FIELDS = ['dxvk_frame_rate', 'enable_wow64', 'disable_steamdeck_mode', 'mangohud_workaround', 'disable_vkbasalt']
+ALL_FIELDS = ['dll', 'multiplier', 'flow_scale', 'performance_mode', 'hdr_mode', 'experimental_present_mode', 'dxvk_frame_rate', 'enable_wow64', 'disable_steamdeck_mode', 'mangohud_workaround', 'disable_vkbasalt']