summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxXJSONDeruloXx <danielhimebauch@gmail.com>2025-09-08 15:29:34 -0400
committerxXJSONDeruloXx <danielhimebauch@gmail.com>2025-09-08 15:29:34 -0400
commit824c9a53d6e830316536abddee21d31579c2ac9c (patch)
treec6a129e8a9c502a537634ce6f4d1f021290e4a5c
parente72d5808f95ad47ec938dbf08a51bd507eeb94de (diff)
downloadDecky-Framegen-0.11.13.tar.gz
Decky-Framegen-0.11.13.zip
feat: break out extended files in remote bins for extensibilityv0.11.13
-rwxr-xr-xdefaults/assets/fgmod-uninstaller.sh6
-rwxr-xr-xdefaults/assets/fgmod.sh6
-rw-r--r--main.py38
-rw-r--r--package.json34
4 files changed, 68 insertions, 16 deletions
diff --git a/defaults/assets/fgmod-uninstaller.sh b/defaults/assets/fgmod-uninstaller.sh
index 93f279f..36808f4 100755
--- a/defaults/assets/fgmod-uninstaller.sh
+++ b/defaults/assets/fgmod-uninstaller.sh
@@ -75,11 +75,11 @@ rm -f "OptiScaler.ini" "OptiScaler.log"
echo "๐Ÿงน Removing Nukem FG Mod files..."
rm -f "dlssg_to_fsr3_amd_is_better.dll" "dlssg_to_fsr3.ini" "dlssg_to_fsr3.log"
rm -f "nvapi64.dll" "fakenvapi.ini" "fakenvapi.log"
-rm -f "amdxcffx64.dll"
# === Remove Supporting Libraries ===
echo "๐Ÿงน Removing supporting libraries..."
-rm -f "libxess.dll" "nvngx.dll" "nvngx.ini"
+rm -f "libxess.dll" "libxess_dx11.dll" "nvngx.dll" "nvngx.ini"
+rm -f "amd_fidelityfx_dx12.dll" "amd_fidelityfx_framegeneration_dx12.dll" "amd_fidelityfx_upscaler_dx12.dll" "amd_fidelityfx_vk.dll"
# === Remove Legacy Files ===
echo "๐Ÿงน Removing legacy files..."
@@ -89,7 +89,7 @@ rm -f "dlssg_to_fsr3_amd_is_better-3.0.dll"
# === Restore Original DLLs ===
echo "๐Ÿ”„ Restoring original DLLs..."
-original_dlls=("d3dcompiler_47.dll" "amd_fidelityfx_dx12.dll" "amd_fidelityfx_vk.dll" "nvapi64.dll" "amdxcffx64.dll" "libxess.dll")
+original_dlls=("d3dcompiler_47.dll" "amd_fidelityfx_dx12.dll" "amd_fidelityfx_framegeneration_dx12.dll" "amd_fidelityfx_upscaler_dx12.dll" "amd_fidelityfx_vk.dll" "nvapi64.dll" "libxess.dll" "libxess_dx11.dll")
for dll in "${original_dlls[@]}"; do
if [[ -f "${dll}.b" ]]; then
mv "${dll}.b" "$dll"
diff --git a/defaults/assets/fgmod.sh b/defaults/assets/fgmod.sh
index 134ded0..2e1e45b 100755
--- a/defaults/assets/fgmod.sh
+++ b/defaults/assets/fgmod.sh
@@ -63,7 +63,7 @@ logger -t fgmod "๐Ÿ“„ Preserve INI: $preserve_ini"
rm -f "$exe_folder_path"/{dxgi.dll,winmm.dll,nvngx.dll,_nvngx.dll,nvngx-wrapper.dll,dlss-enabler.dll,OptiScaler.dll}
# === Optional: Backup Original DLLs ===
-original_dlls=("d3dcompiler_47.dll" "amd_fidelityfx_dx12.dll" "amd_fidelityfx_vk.dll" "nvapi64.dll" "amdxcffx64.dll")
+original_dlls=("d3dcompiler_47.dll" "amd_fidelityfx_dx12.dll" "amd_fidelityfx_framegeneration_dx12.dll" "amd_fidelityfx_upscaler_dx12.dll" "amd_fidelityfx_vk.dll" "nvapi64.dll")
for dll in "${original_dlls[@]}"; do
[[ -f "$exe_folder_path/$dll" && ! -f "$exe_folder_path/$dll.b" ]] && mv -f "$exe_folder_path/$dll" "$exe_folder_path/$dll.b"
done
@@ -89,7 +89,10 @@ fi
# === Supporting Libraries ===
cp -f "$fgmod_path/libxess.dll" "$exe_folder_path/" || true
+cp -f "$fgmod_path/libxess_dx11.dll" "$exe_folder_path/" || true
cp -f "$fgmod_path/amd_fidelityfx_dx12.dll" "$exe_folder_path/" || true
+cp -f "$fgmod_path/amd_fidelityfx_framegeneration_dx12.dll" "$exe_folder_path/" || true
+cp -f "$fgmod_path/amd_fidelityfx_upscaler_dx12.dll" "$exe_folder_path/" || true
cp -f "$fgmod_path/amd_fidelityfx_vk.dll" "$exe_folder_path/" || true
cp -f "$fgmod_path/nvngx.dll" "$exe_folder_path/" || true
@@ -98,7 +101,6 @@ cp -f "$fgmod_path/dlssg_to_fsr3_amd_is_better.dll" "$exe_folder_path/" || true
cp -f "$fgmod_path/dlssg_to_fsr3.ini" "$exe_folder_path/" || true
cp -f "$fgmod_path/nvapi64.dll" "$exe_folder_path/" || true
cp -f "$fgmod_path/fakenvapi.ini" "$exe_folder_path/" || true
-cp -f "$fgmod_path/amdxcffx64.dll" "$exe_folder_path/" || true
# === Additional Support Files ===
cp -f "$fgmod_path/d3dcompiler_47.dll" "$exe_folder_path/" || true
diff --git a/main.py b/main.py
index 21866e4..f14bd97 100644
--- a/main.py
+++ b/main.py
@@ -92,7 +92,7 @@ class Plugin:
return False
async def extract_static_optiscaler(self) -> dict:
- """Extract OptiScaler from the plugin's bin directory."""
+ """Extract OptiScaler from the plugin's bin directory and copy additional files."""
try:
# Set up paths
bin_path = Path(decky.DECKY_PLUGIN_DIR) / "bin"
@@ -101,7 +101,7 @@ class Plugin:
# Find the OptiScaler archive in the bin directory
optiscaler_archive = None
for file in bin_path.glob("*.7z"):
- if "OptiScaler" in file.name:
+ if "OptiScaler" in file.name and not "BUNDLE" in file.name:
optiscaler_archive = file
break
@@ -144,6 +144,28 @@ class Plugin:
"message": f"Failed to extract OptiScaler archive: {extract_result.stderr}"
}
+ # Copy additional individual files from bin directory
+ additional_files = [
+ "dlssg_to_fsr3_amd_is_better.dll",
+ "fakenvapi.ini",
+ "nvapi64.dll",
+ "nvngx.dll"
+ ]
+
+ for file_name in additional_files:
+ src_file = bin_path / file_name
+ dest_file = extract_path / file_name
+
+ if src_file.exists():
+ shutil.copy2(src_file, dest_file)
+ decky.logger.info(f"Copied additional file: {file_name}")
+ else:
+ decky.logger.warning(f"Additional file not found: {file_name}")
+ return {
+ "status": "error",
+ "message": f"Required file {file_name} not found in plugin bin directory"
+ }
+
# Create renamed copies of OptiScaler.dll
source_file = extract_path / "OptiScaler.dll"
renames_dir = extract_path / "renames"
@@ -153,10 +175,10 @@ class Plugin:
assets_dir = Path(decky.DECKY_PLUGIN_DIR) / "assets"
self._copy_launcher_scripts(assets_dir, extract_path)
- # Extract version from filename
+ # Extract version from filename (e.g., OptiScaler_0.7.9.7z -> v0.7.9)
version_match = optiscaler_archive.name.replace('.7z', '')
- if '_v' in version_match:
- version = 'v' + version_match.split('_v')[1]
+ if 'OptiScaler_' in version_match:
+ version = 'v' + version_match.split('OptiScaler_')[1]
else:
version = version_match
@@ -238,13 +260,17 @@ class Plugin:
path = Path(decky.HOME) / "fgmod"
required_files = [
"OptiScaler.dll",
+ "OptiScaler.ini",
"dlssg_to_fsr3_amd_is_better.dll",
"fakenvapi.ini",
"nvapi64.dll",
- "amdxcffx64.dll",
+ "nvngx.dll",
"amd_fidelityfx_dx12.dll",
+ "amd_fidelityfx_framegeneration_dx12.dll",
+ "amd_fidelityfx_upscaler_dx12.dll",
"amd_fidelityfx_vk.dll",
"libxess.dll",
+ "libxess_dx11.dll",
"fgmod",
"fgmod-uninstaller.sh"
]
diff --git a/package.json b/package.json
index 25323d8..7afd954 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "decky-framegen",
- "version": "0.11.12",
+ "version": "0.11.13",
"description": "This plugin installs and manages OptiScaler, a tool that enhances upscaling and enables frame generation in a range of DirectX 12 games.",
"type": "module",
"scripts": {
@@ -53,10 +53,34 @@
"remote_binary":
[
{
- "sha256hash": "a003276a79b31cebbd3784d7c8d9413bd1c92f34dc14e409ebf06a08b0ac5f22",
- "url": "https://github.com/xXJSONDeruloXx/OptiScaler-Bleeding-Edge/releases/download/BUNDLE_OptiScaler_v0.7.8_Typeless-20250817-003642/BUNDLE_OptiScaler_v0.7.8_Typeless-20250817-003642.7z",
- "name": "BUNDLE_OptiScaler_v0.7.8_Typeless-20250817-003642.7z",
- "size": 61157175
+ "sha256hash": "70103bf3746140d368179773edeafb02ec9718efa130276b8da833c3156fbfe3",
+ "url": "https://github.com/optiscaler/OptiScaler/releases/download/v0.7.9/OptiScaler_0.7.9.7z",
+ "name": "OptiScaler_0.7.9.7z",
+ "size": 0
+ },
+ {
+ "sha256hash": "7ff6a5e11f85e64a0a89dc9527a22f55485068f8bf9425ab6571137daf0f586a",
+ "url": "https://github.com/xXJSONDeruloXx/OptiScaler-Bleeding-Edge/releases/download/OptiScaler_v0.7.8-pre0_20250816_unsigned_dll-13b2b5d0/dlssg_to_fsr3_amd_is_better.dll",
+ "name": "dlssg_to_fsr3_amd_is_better.dll",
+ "size": 3040768
+ },
+ {
+ "sha256hash": "a4bfa3ec7b4badd93ae5e1ad74a582238082d871f54f38f68e7d9fb6384ce772",
+ "url": "https://github.com/xXJSONDeruloXx/OptiScaler-Bleeding-Edge/releases/download/OptiScaler_v0.7.8-pre0_20250816_unsigned_dll-13b2b5d0/fakenvapi.ini",
+ "name": "fakenvapi.ini",
+ "size": 466
+ },
+ {
+ "sha256hash": "f4c9e3d35510f2c8b14a41e47721487d3f6663b85441e1be574c45d906b95f06",
+ "url": "https://github.com/xXJSONDeruloXx/OptiScaler-Bleeding-Edge/releases/download/OptiScaler_v0.7.8-pre0_20250816_unsigned_dll-13b2b5d0/nvapi64.dll",
+ "name": "nvapi64.dll",
+ "size": 404992
+ },
+ {
+ "sha256hash": "1d75e7c1f37f966517f625aa3cc9602ff89d42ad2a7fcbdfa5fc91dab4674149",
+ "url": "https://github.com/xXJSONDeruloXx/OptiScaler-Bleeding-Edge/releases/download/OptiScaler_v0.7.8-pre0_20250816_unsigned_dll-13b2b5d0/nvngx.dll",
+ "name": "nvngx.dll",
+ "size": 49012784
}
]
}