diff options
| -rwxr-xr-x | defaults/assets/fgmod-uninstaller.sh | 36 | ||||
| -rwxr-xr-x | defaults/assets/fgmod.sh | 62 | ||||
| -rw-r--r-- | src/components/CustomPathOverride.tsx | 4 | ||||
| -rw-r--r-- | src/components/InstalledGamesSection.tsx | 8 | ||||
| -rw-r--r-- | src/components/ResultDisplay.tsx | 4 | ||||
| -rw-r--r-- | src/components/SteamGamePatcher.tsx | 8 | ||||
| -rw-r--r-- | src/utils/constants.ts | 8 |
7 files changed, 64 insertions, 66 deletions
diff --git a/defaults/assets/fgmod-uninstaller.sh b/defaults/assets/fgmod-uninstaller.sh index 8c5e7b9..2fd853f 100755 --- a/defaults/assets/fgmod-uninstaller.sh +++ b/defaults/assets/fgmod-uninstaller.sh @@ -4,13 +4,13 @@ set -x exec > >(tee -i /tmp/fgmod-uninstaller.log) 2>&1 error_exit() { - echo "โ $1" + echo " $1" if [[ -n $STEAM_ZENITY ]]; then $STEAM_ZENITY --error --text "$1" else zenity --error --text "$1" || echo "Zenity failed to display error" fi - logger -t fgmod-uninstaller "โ ERROR: $1" + logger -t fgmod-uninstaller "ERROR: $1" exit 1 } @@ -101,20 +101,20 @@ cd "$exe_folder_path" || error_exit "Failed to change directory to $exe_folder_p # Verify current directory before proceeding [[ "$(pwd)" != "$exe_folder_path" ]] && error_exit "Unexpected working directory: $(pwd)" -logger -t fgmod-uninstaller "๐ข Uninstalling from: $exe_folder_path" +logger -t fgmod-uninstaller "Uninstalling from: $exe_folder_path" # === Remove OptiScaler Files === -echo "๐งน Removing OptiScaler files..." +echo " Removing OptiScaler files..." rm -f "OptiScaler.dll" "dxgi.dll" "winmm.dll" "dbghelp.dll" "version.dll" "wininet.dll" "winhttp.dll" "OptiScaler.asi" rm -f "OptiScaler.ini" "OptiScaler.log" # === Remove Nukem FG Mod Files === -echo "๐งน Removing Nukem FG Mod files..." +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" # === Remove Supporting Libraries === -echo "๐งน Removing supporting libraries..." +echo " Removing supporting libraries..." rm -f "nvngx.dll" "nvngx.ini" # Only remove files if backups exist (to avoid removing restored originals) [[ -f "libxess.dll.b" ]] && rm -f "libxess.dll" @@ -127,49 +127,49 @@ rm -f "nvngx.dll" "nvngx.ini" [[ -f "amd_fidelityfx_vk.dll.b" ]] && rm -f "amd_fidelityfx_vk.dll" # === Remove FG Mod Files === -echo "๐งน Removing frame generation mod files..." +echo " Removing frame generation mod files..." rm -f "dlssg_to_fsr3_amd_is_better.dll" "dlssg_to_fsr3.ini" # === Remove NVAPI Files (Current and Legacy) === -echo "๐งน Removing NVAPI files..." +echo " Removing NVAPI files..." rm -f "fakenvapi.dll" "fakenvapi.ini" # Current v0.9.0-pre4 approach rm -f "nvapi64.dll" "nvapi64.dll.b" # Legacy cleanup for older versions and backups # === Remove ASI Plugins === -echo "๐งน Removing ASI plugins directory..." +echo " Removing ASI plugins directory..." rm -rf "plugins" # === Remove Legacy Files === -echo "๐งน Removing legacy files..." +echo " Removing legacy files..." rm -f "dlss-enabler.dll" "dlss-enabler-upscaler.dll" "dlss-enabler.log" rm -f "nvngx-wrapper.dll" "_nvngx.dll" rm -f "dlssg_to_fsr3_amd_is_better-3.0.dll" # === Restore Original DLLs === -echo "๐ Restoring original DLLs..." +echo " Restoring original DLLs..." original_dlls=("d3dcompiler_47.dll" "amd_fidelityfx_dx12.dll" "amd_fidelityfx_framegeneration_dx12.dll" "amd_fidelityfx_upscaler_dx12.dll" "amd_fidelityfx_vk.dll" "libxess.dll" "libxess_dx11.dll" "libxess_fg.dll" "libxell.dll") for dll in "${original_dlls[@]}"; do if [[ -f "${dll}.b" ]]; then mv "${dll}.b" "$dll" - echo "โ
Restored original $dll" - logger -t fgmod-uninstaller "โ
Restored original $dll" + echo " Restored original $dll" + logger -t fgmod-uninstaller "Restored original $dll" fi done # === Self-remove uninstaller === -echo "๐๏ธ Removing uninstaller..." +echo " Removing uninstaller..." rm -f "fgmod-uninstaller.sh" -echo "โ
fgmod removed from this game successfully!" -logger -t fgmod-uninstaller "โ
fgmod removed from $exe_folder_path" +echo " fgmod removed from this game successfully!" +logger -t fgmod-uninstaller "fgmod removed from $exe_folder_path" # === Execute original command if provided === if [[ $# -gt 1 ]]; then - echo "๐ Launching the game..." + echo " Launching the game..." export SteamDeck=0 export WINEDLLOVERRIDES="${WINEDLLOVERRIDES},dxgi=n,b" exec >/dev/null 2>&1 exec "$@" else - echo "โ
Uninstallation complete. No game specified to run." + echo " Uninstallation complete. No game specified to run." fi
\ No newline at end of file diff --git a/defaults/assets/fgmod.sh b/defaults/assets/fgmod.sh index 99ea447..decb981 100755 --- a/defaults/assets/fgmod.sh +++ b/defaults/assets/fgmod.sh @@ -4,13 +4,13 @@ set -x exec > >(tee -i /tmp/fgmod-install.log) 2>&1 error_exit() { - echo "โ $1" + echo " $1" if [[ -n $STEAM_ZENITY ]]; then $STEAM_ZENITY --error --text "$1" else zenity --error --text "$1" || echo "Zenity failed to display error" fi - logger -t fgmod "โ ERROR: $1" + logger -t fgmod "ERROR: $1" exit 1 } @@ -89,12 +89,12 @@ if [[ -d "$exe_folder_path/Engine" ]]; then exe_folder_path=$(dirname "$ue_exe") fi -[[ ! -d "$exe_folder_path" ]] && error_exit "โ Could not resolve game directory!" -[[ ! -w "$exe_folder_path" ]] && error_exit "๐ No write permission to the game folder!" +[[ ! -d "$exe_folder_path" ]] && error_exit " Could not resolve game directory!" +[[ ! -w "$exe_folder_path" ]] && error_exit " No write permission to the game folder!" -logger -t fgmod "๐ข Target directory: $exe_folder_path" -logger -t fgmod "๐งฉ Using DLL name: $dll_name" -logger -t fgmod "๐ Preserve INI: $preserve_ini" +logger -t fgmod "Target directory: $exe_folder_path" +logger -t fgmod "Using DLL name: $dll_name" +logger -t fgmod "Preserve INI: $preserve_ini" # === Cleanup Old Injectors === rm -f "$exe_folder_path"/{dxgi.dll,winmm.dll,nvngx.dll,_nvngx.dll,nvngx-wrapper.dll,dlss-enabler.dll,OptiScaler.dll} @@ -107,25 +107,25 @@ done # === Remove nvapi64.dll and its backup (conflicts from previous fakenvapi versions) === rm -f "$exe_folder_path/nvapi64.dll" "$exe_folder_path/nvapi64.dll.b" -echo "๐งน Cleaned up nvapi64.dll and backup (legacy fakenvapi conflicts)" +echo " Cleaned up nvapi64.dll and backup (legacy fakenvapi conflicts)" # === Core Install === if [[ -f "$fgmod_path/renames/$dll_name" ]]; then - echo "โ
Using pre-renamed $dll_name" - cp "$fgmod_path/renames/$dll_name" "$exe_folder_path/$dll_name" || error_exit "โ Failed to copy $dll_name" + echo " Using pre-renamed $dll_name" + cp "$fgmod_path/renames/$dll_name" "$exe_folder_path/$dll_name" || error_exit " Failed to copy $dll_name" else - echo "โ ๏ธ Pre-renamed $dll_name not found, falling back to OptiScaler.dll" - cp "$fgmod_path/OptiScaler.dll" "$exe_folder_path/$dll_name" || error_exit "โ Failed to copy OptiScaler.dll as $dll_name" + echo " Pre-renamed $dll_name not found, falling back to OptiScaler.dll" + cp "$fgmod_path/OptiScaler.dll" "$exe_folder_path/$dll_name" || error_exit " Failed to copy OptiScaler.dll as $dll_name" fi # === OptiScaler.ini Handling === if [[ "$preserve_ini" == "true" && -f "$exe_folder_path/OptiScaler.ini" ]]; then - echo "๐ Preserving existing OptiScaler.ini (user settings retained)" - logger -t fgmod "๐ Existing OptiScaler.ini preserved in $exe_folder_path" + echo " Preserving existing OptiScaler.ini (user settings retained)" + logger -t fgmod "Existing OptiScaler.ini preserved in $exe_folder_path" else - echo "๐ Installing OptiScaler.ini from plugin defaults" - cp "$fgmod_path/OptiScaler.ini" "$exe_folder_path/OptiScaler.ini" || error_exit "โ Failed to copy OptiScaler.ini" - logger -t fgmod "๐ OptiScaler.ini installed to $exe_folder_path" + echo " Installing OptiScaler.ini from plugin defaults" + cp "$fgmod_path/OptiScaler.ini" "$exe_folder_path/OptiScaler.ini" || error_exit " Failed to copy OptiScaler.ini" + logger -t fgmod "OptiScaler.ini installed to $exe_folder_path" fi # === OptiScaler env variables Handling === @@ -144,8 +144,8 @@ sed -i 's/^UseHQFont[[:space:]]*=[[:space:]]*auto$/UseHQFont=false/' "$exe_folde _fgtype_ini="$exe_folder_path/OptiScaler.ini" if grep -q '^FGType=' "$_fgtype_ini" 2>/dev/null; then _fgtype_val=$(sed -n 's/^FGType=\(.*\)/\1/p' "$_fgtype_ini") - echo "๐ Migrating FGType=$_fgtype_val โ FGInput/FGOutput in OptiScaler.ini" - logger -t fgmod "๐ Migrating FGType=$_fgtype_val โ FGInput/FGOutput" + echo " Migrating FGType=$_fgtype_val โ FGInput/FGOutput in OptiScaler.ini" + logger -t fgmod "Migrating FGType=$_fgtype_val โ FGInput/FGOutput" if grep -q '^FGInput=' "$_fgtype_ini"; then # FGInput already present โ INI already in v0.9-final format; just drop FGType sed -i '/^FGType=/d' "$_fgtype_ini" || true @@ -158,20 +158,20 @@ unset _fgtype_ini _fgtype_val # === ASI Plugins Directory === if [[ -d "$fgmod_path/plugins" ]]; then - echo "๐ Installing ASI plugins directory" + echo " Installing ASI plugins directory" cp -r "$fgmod_path/plugins" "$exe_folder_path/" || true - logger -t fgmod "๐ ASI plugins directory installed to $exe_folder_path" + logger -t fgmod "ASI plugins directory installed to $exe_folder_path" else - echo "โ ๏ธ No plugins directory found in fgmod" + echo " No plugins directory found in fgmod" fi # === D3D12_Optiscaler Directory (required for FSR4/FidelityFX DX12 path) === if [[ -d "$fgmod_path/D3D12_Optiscaler" ]]; then - echo "๐ฆ Installing D3D12_Optiscaler directory" + echo " Installing D3D12_Optiscaler directory" cp -r "$fgmod_path/D3D12_Optiscaler" "$exe_folder_path/" || true - logger -t fgmod "๐ฆ D3D12_Optiscaler directory installed to $exe_folder_path" + logger -t fgmod "D3D12_Optiscaler directory installed to $exe_folder_path" else - echo "โ ๏ธ No D3D12_Optiscaler directory found in fgmod" + echo " No D3D12_Optiscaler directory found in fgmod" fi # === Supporting Libraries === @@ -192,22 +192,22 @@ cp -f "$fgmod_path/dlssg_to_fsr3_amd_is_better.dll" "$exe_folder_path/" || true # === FakeNVAPI Files === # Remove legacy nvapi64.dll to avoid conflicts # rm -f "$exe_folder_path/nvapi64.dll" -# echo "๐งน Removed legacy nvapi64.dll" +# echo " Removed legacy nvapi64.dll" # Copy fakenvapi.dll with original name (v1.3.8.1) cp -f "$fgmod_path/fakenvapi.dll" "$exe_folder_path/" || true cp -f "$fgmod_path/fakenvapi.ini" "$exe_folder_path/" || true -echo "๐ฆ Installed fakenvapi.dll and fakenvapi.ini" +echo " Installed fakenvapi.dll and fakenvapi.ini" # === Additional Support Files === # cp -f "$fgmod_path/d3dcompiler_47.dll" "$exe_folder_path/" || true # Note: d3dcompiler_47.dll is not included in v0.9.0-final archive -echo "โ
Installation completed successfully!" -echo "๐ For Steam, add this to the launch options: \"$fgmod_path/fgmod\" %COMMAND%" -echo "๐ For Heroic, add this as a new wrapper: \"$fgmod_path/fgmod\"" -logger -t fgmod "๐ข Installation completed successfully for $exe_folder_path" +echo " Installation completed successfully!" +echo " For Steam, add this to the launch options: \"$fgmod_path/fgmod\" %COMMAND%" +echo " For Heroic, add this as a new wrapper: \"$fgmod_path/fgmod\"" +logger -t fgmod "Installation completed successfully for $exe_folder_path" # === Execute original command === if [[ $# -gt 1 ]]; then diff --git a/src/components/CustomPathOverride.tsx b/src/components/CustomPathOverride.tsx index 14a0905..4effc6c 100644 --- a/src/components/CustomPathOverride.tsx +++ b/src/components/CustomPathOverride.tsx @@ -239,9 +239,7 @@ export const ManualPatchControls = ({ isAvailable, onManualModeChange, dllName } <Field label="Picker error" description={pickerState.lastError} - > - โ ๏ธ - </Field> + /> </PanelSectionRow> )} diff --git a/src/components/InstalledGamesSection.tsx b/src/components/InstalledGamesSection.tsx index 71278d7..04d653b 100644 --- a/src/components/InstalledGamesSection.tsx +++ b/src/components/InstalledGamesSection.tsx @@ -42,14 +42,14 @@ export function InstalledGamesSection() { <ConfirmModal strTitle={`Enable Frame Generation for ${selectedGame.name}?`} strDescription={ - "โ ๏ธ Important: This plugin does not automatically unpatch games when uninstalled. If you uninstall this plugin or experience game issues, use the 'Disable Frame Generation' option or verify game file integrity through Steam." + "Important: This plugin does not automatically unpatch games when uninstalled. If you uninstall this plugin or experience game issues, use the 'Disable Frame Generation' option or verify game file integrity through Steam." } strOKButtonText="Enable Frame Generation" strCancelButtonText="Cancel" onOK={async () => { try { await SteamClient.Apps.SetAppLaunchOptions(selectedGame.appid, '~/fgmod/fgmod %COMMAND%'); - setResult(`โ Frame generation enabled for ${selectedGame.name}. Launch the game, enable DLSS in graphics settings, then press Insert to access OptiScaler options.`); + setResult(`Frame generation enabled for ${selectedGame.name}. Launch the game, enable DLSS in graphics settings, then press Insert to access OptiScaler options.`); } catch (error) { logError('handlePatchClick: ' + String(error)); setResult(error instanceof Error ? `Error: ${error.message}` : 'Error enabling frame generation'); @@ -64,7 +64,7 @@ export function InstalledGamesSection() { try { await SteamClient.Apps.SetAppLaunchOptions(selectedGame.appid, '~/fgmod/fgmod-uninstaller.sh %COMMAND%'); - setResult(`โ Frame generation will be disabled on next launch of ${selectedGame.name}.`); + setResult(`Frame generation will be disabled on next launch of ${selectedGame.name}.`); } catch (error) { logError('handleUnpatchClick: ' + String(error)); setResult(error instanceof Error ? `Error: ${error.message}` : 'Error disabling frame generation'); @@ -96,7 +96,7 @@ export function InstalledGamesSection() { ...STYLES.preWrap, ...(result.includes('Error') ? STYLES.statusNotInstalled : STYLES.statusInstalled) }}> - {result.includes('Error') ? 'โ' : 'โ
'} {result} + {result} </div> </PanelSectionRow> ) : null} diff --git a/src/components/ResultDisplay.tsx b/src/components/ResultDisplay.tsx index bcd66c0..b54e41d 100644 --- a/src/components/ResultDisplay.tsx +++ b/src/components/ResultDisplay.tsx @@ -19,13 +19,13 @@ export const ResultDisplay: FC<ResultDisplayProps> = ({ result }) => { <div style={isSuccess ? STYLES.statusInstalled : STYLES.statusNotInstalled}> {isSuccess ? ( <> - โ
{result.output?.includes("uninstall") || result.output?.includes("remov") + {result.output?.includes("uninstall") || result.output?.includes("remov") ? "OptiScaler mod removed successfully" : "OptiScaler mod installed successfully"} </> ) : ( <> - โ <strong>Error:</strong> {result.message || "Operation failed"} + <strong>Error:</strong> {result.message || "Operation failed"} </> )} {result.output && !isSuccess && ( diff --git a/src/components/SteamGamePatcher.tsx b/src/components/SteamGamePatcher.tsx index 5947f01..06c373c 100644 --- a/src/components/SteamGamePatcher.tsx +++ b/src/components/SteamGamePatcher.tsx @@ -159,10 +159,10 @@ export function SteamGamePatcher({ dllName }: SteamGamePatcherProps) { setSteamLaunchOptions(Number(selectedAppId), targetCommand); setLaunchOptions(targetCommand); setResultMessage( - `โ
Launch options set for ${selectedGame?.name ?? selectedAppId}` + `Launch options set for ${selectedGame?.name ?? selectedAppId}` ); } catch (e) { - setResultMessage(`โ ${e instanceof Error ? e.message : String(e)}`); + setResultMessage(`Error: ${e instanceof Error ? e.message : String(e)}`); } finally { setBusy(false); } @@ -176,10 +176,10 @@ export function SteamGamePatcher({ dllName }: SteamGamePatcherProps) { setSteamLaunchOptions(Number(selectedAppId), stripped); setLaunchOptions(stripped); setResultMessage( - `โ
Removed fgmod from ${selectedGame?.name ?? selectedAppId}` + `Removed fgmod from ${selectedGame?.name ?? selectedAppId}` ); } catch (e) { - setResultMessage(`โ ${e instanceof Error ? e.message : String(e)}`); + setResultMessage(`Error: ${e instanceof Error ? e.message : String(e)}`); } finally { setBusy(false); } diff --git a/src/utils/constants.ts b/src/utils/constants.ts index 64b98c4..7fa6970 100644 --- a/src/utils/constants.ts +++ b/src/utils/constants.ts @@ -67,14 +67,14 @@ export const TIMEOUTS = { // Message strings export const MESSAGES = { - modInstalled: "โ
OptiScaler Mod Installed", - modNotInstalled: "โ OptiScaler Mod Not Installed", + modInstalled: "OptiScaler Mod Installed", + modNotInstalled: "OptiScaler Mod Not Installed", installing: "Installing OptiScaler...", installButton: "Setup OptiScaler Mod", uninstalling: "Removing OptiScaler...", uninstallButton: "Remove OptiScaler Mod", - installSuccess: "โ
OptiScaler mod setup successfully!", - uninstallSuccess: "โ
OptiScaler mod removed successfully.", + installSuccess: "OptiScaler mod setup successfully!", + uninstallSuccess: "OptiScaler mod removed successfully.", instructionTitle: "How to Use:", instructionText: "Click 'Copy Patch Command' or 'Copy Unpatch Command', then go to your game's properties, and paste the command into the Launch Options field.\n\nIn-game: Enable DLSS in graphics settings to unlock FSR 3.1/XeSS 2.0 in DirectX12 Games.\n\nFor extended OptiScaler options, assign a back button to a keyboard's 'Insert' key." }; |
