summaryrefslogtreecommitdiff
path: root/main.py
AgeCommit message (Collapse)Author
3 daysfeat: proxy DLL name pickerxXJSONDeruloXx
Expose the proxy DLL rename as a user-selectable option across all injection paths. Previously hardcoded to dxgi.dll with no way to change it short of manually prepending DLL=<name> to the Steam launch option. src/utils/constants.ts - Add PROXY_DLL_OPTIONS (7 entries matching _create_renamed_copies) each with a label and one-line hint - Add DEFAULT_PROXY_DLL constant (dxgi.dll) and ProxyDllValue type src/api/index.ts - runManualPatch now takes [directory, dll_name] so the chosen name reaches the backend src/components/OptiScalerControls.tsx - Own dllName state (default: dxgi.dll) - Render a DropdownItem (visible when installed) showing the 7 options with the selected option's hint as the description - Pass dllName down to both ClipboardCommands and ManualPatchControls src/components/ClipboardCommands.tsx - Accept dllName prop - Patch command is plain ~/fgmod/fgmod %command% for the default; prefixed DLL=<name> ~/fgmod/fgmod %command% for any other choice src/components/CustomPathOverride.tsx - Accept dllName prop - Pass it to runManualPatch - Manual launch cmd clipboard button builds WINEDLLOVERRIDES="<stem>=n,b" dynamically; emits bare SteamDeck=0 %command% for OptiScaler.asi (ASI loader path needs no Wine DLL override) main.py - Add VALID_DLL_NAMES set (whitelist matching the renames dir) - manual_patch_directory validates dll_name against the whitelist and returns an error for unknown values - _manual_patch_directory_impl accepts dll_name param; removes the hardcoded "dxgi.dll" line defaults/assets/fgmod.sh - Fix longstanding bug: WINEDLLOVERRIDES was hardcoded to dxgi=n,b regardless of the DLL= env var selection. Now derives the stem from $dll_name and skips the override entirely for .asi files.
3 daysfix: migrate per-game FGType → FGInput/FGOutput on patch and launchxXJSONDeruloXx
Already-patched games have OptiScaler.ini entries using the old FGType key (e.g. FGType=nukems). The v0.9-final DLL no longer recognises FGType and silently falls back to nofg, breaking frame gen without any error. Add _migrate_optiscaler_ini() in main.py which: - detects FGType=<value> in a per-game INI - if FGInput is absent: replaces the single FGType line with both FGInput=<value> and FGOutput=<value> - if FGInput is already present (INI already migrated): just drops the stale FGType line - is a no-op when FGType is not present (fresh installs, already migrated) Call the migration from _manual_patch_directory_impl immediately before _disable_hq_font_auto so any re-patch via the GUI heals the INI. Mirror the same logic in fgmod.sh so that games using the launch wrapper are migrated automatically on the very next launch, with no manual re-patch required.
3 dayschore: update OptiScaler to v0.9.0-finalxXJSONDeruloXx
- package.json: point remote_binary at official optiscaler/OptiScaler v0.9 release (Optiscaler_0.9.0-final.20260401._AF.7z) with updated sha256 hash; drop staging-repo pre11 URL - main.py (_modify_optiscaler_ini): FGType was split into FGInput + FGOutput in the final release INI; replace the old FGType=nukems substitution with FGInput=nukems and FGOutput=nukems so defaults are actually applied - main.py (_manual_patch_directory_impl): copy D3D12_Optiscaler/ directory to the game folder (OptiScaler.ini explicitly requires it next to the exe for FSR4/FidelityFX DX12 path) - main.py (_manual_unpatch_directory_impl): remove D3D12_Optiscaler/ directory when cleaning a game folder - fgmod.sh: cp -r D3D12_Optiscaler/ to game folder during launch-time install, matching the per-game patch behaviour above - Scrub stale pre3/pre4/pre11 references from comments throughout
2026-03-20fix: bump to 0.15.0 and avoid OptiScaler font assertxXJSONDeruloXx
2026-02-08fix: fix check_fgmod_pathwuriko
2026-02-08feat: add support for optiscaler config variableswuriko
2025-09-26fix patching, logging additionsxXJSONDeruloXx
2025-09-26revised approach, pick dir then patch in plugin ui itselfxXJSONDeruloXx
2025-09-26feat: first arg steam path start, second mirror firstxXJSONDeruloXx
2025-09-23fix rename and cleanup procv0.12.5v0.12.4xXJSONDeruloXx
2025-09-23feat: add optipatcher bin, fgmod plugin path, install and uninstall logic ↵v0.12.3xXJSONDeruloXx
for extended spoofing
2025-09-23feat: adj py fgmod setup and fgmod install and uninstaller around opti 0-9-0v0.12.1xXJSONDeruloXx
2025-09-22feat: fsr4 override with separate bin, so I can link to unmodified opti 7z ↵xXJSONDeruloXx
going forward
2025-09-16feat: add int8 custom fsr dll, set opti ini to fsr4 truev0.11.14xXJSONDeruloXx
2025-09-09feat: break out extended files in remote bins for extensibility (#133)v0.11.15Kurt Himebauch
2025-08-06Pr fixes (#126)Kurt Himebauch
* rm flatpak function, rm legacy script * feat: add warning modal on copy button
2025-07-29wording and layout tweaks (#125)v0.11.8Kurt Himebauch
* wording and layout tweaks * red in remove button * reorganize frontend components * fix ld preload permissions issue for decky 3.1.10 * bump ver
2025-07-23undo fsr4 patching auto > true (#121)Kurt Himebauch
* comment out fsr4 enable as potential crash cause * bump ver
2025-07-21ini fsr4 tweak, bump optixXJSONDeruloXx
2025-07-17reorganize for readability and DRY (#115)v0.10.1Kurt Himebauch
* reorganize for readability and DRY * rm backup files * ver bump
2025-07-17v0.10.0 initial implementation of proper optiscaler nightly statically ↵Kurt Himebauch
linked (#113) * initial implementation of proper optiscaler nightly statically linked * default ini to nukems on mod dir install * description tweaks
2025-02-08fix: checkfgmodpath function correct file listxXJSONDeruloXx
2025-02-08downloaded the right stuff this time, oopsiesxXJSONDeruloXx
2025-02-08feat: add xess back in, fix script and path checkxXJSONDeruloXx
2025-02-06fix fgmod install check pyxXJSONDeruloXx
2025-02-06rm more xess refsxXJSONDeruloXx
2025-02-04feat: merge zip asset branch into main, Optiscaler 7 version now main standardxXJSONDeruloXx
2025-02-03Add logging frontend errors to decky logging (#53)Grimbakor
2025-01-31feat: rework prepare.sh to extract from /bin remote binariesxXJSONDeruloXx
2025-01-30* Move assets/ to defaults/assets so .vscode/build.sh and decky-cli packages ↵v0.5.0-BundledGrimbakor
correctly (#28) * Changed all paths to use environment variables from decky as base paths * Remove alwaysRender from front-end so setInterval does not run in the background during a game session
2025-01-28Modifed every reference to "/home/deck" to a generic home folder, should ↵DGdev91
allow to run it on non-steamos linux distros
2025-01-27fix: remove steam linux runtimes from applistxXJSONDeruloXx
2025-01-27feat: filter out proton items in app listxXJSONDeruloXx
2025-01-26groundwork for games list, next step patch on button pressxXJSONDeruloXx
2025-01-26add env to prep script in py execxXJSONDeruloXx
2025-01-26added req files check in checkfgmodpath callablexXJSONDeruloXx
2025-01-23add uninstaller button and scriptxXJSONDeruloXx
2025-01-22add description, clean up uixXJSONDeruloXx
2025-01-22add installation path detection on plugin openxXJSONDeruloXx
2025-01-22cleaned up install output debugging, added instructionsxXJSONDeruloXx
2025-01-22fix prep script, path to openssl and loggingxXJSONDeruloXx
2025-01-22refactor, script status now displayingxXJSONDeruloXx
2025-01-22fixed bad importsxXJSONDeruloXx
2025-01-22python for prep script, clean up assetsxXJSONDeruloXx
2025-01-22bundled assets, will need to review if thats problematicxXJSONDeruloXx
2025-01-21trying script approach?xXJSONDeruloXx
2025-01-21feat: got working dropdown listing installed gamesxXJSONDeruloXx
2025-01-21Initial commitJSON Derulo