Last active
July 30, 2025 19:13
-
-
Save Venipa/0bd4c7740d51bae696612712f187f258 to your computer and use it in GitHub Desktop.
Enables Naraka's "Advanced" Physics for certain bodyparts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Find Naraka: Bladepoint installation path from Steam library folders | |
# Get Steam installation path from registry | |
# Get all Steam library paths from registry | |
$steamLibraries = @() | |
# Try to get main Steam path from both possible registry locations | |
$steamRegPaths = @( | |
"HKLM:\SOFTWARE\WOW6432Node\Valve\Steam" | |
) | |
foreach ($regPath in $steamRegPaths) { | |
$reg = Get-ItemProperty -Path $regPath -ErrorAction SilentlyContinue | |
if ($reg) { | |
if ($reg.InstallPath) { $steamLibraries += $reg.InstallPath } | |
if ($reg.SteamPath) { $steamLibraries += $reg.SteamPath } | |
} | |
} | |
# Find the first Naraka: Bladepoint install in each library | |
$narakaAppId = "1203220" | |
# Also parse libraryfolders.vdf in each Steam library to get all library paths | |
foreach ($lib in $steamLibraries) { | |
$libraryVdf = Join-Path $lib "steamapps\libraryfolders.vdf" | |
if (Test-Path $libraryVdf) { | |
$vdfLines = Get-Content $libraryVdf | |
foreach ($line in $vdfLines) { | |
# Match lines like: "path" "E:\\Program Files (x86)\\Steam" | |
if ($line -match '^\s*"path"\s+"([^"]+)"') { | |
$extraLib = $matches[1] | |
if ($extraLib -and -not ($steamLibraries -contains $extraLib)) { | |
$steamLibraries += $extraLib | |
} | |
} | |
} | |
} | |
} | |
# Remove duplicates and empty entries again after adding from libraryfolders.vdf | |
$steamLibraries = $steamLibraries | Where-Object { $_ } | Select-Object -Unique | |
$narakaPaths = @() | |
foreach ($lib in $steamLibraries) { | |
$appManifest = Join-Path $lib "steamapps\appmanifest_$narakaAppId.acf" | |
if (Test-Path $appManifest) { | |
# Parse the manifest to get the install directory | |
$manifestContent = Get-Content $appManifest | |
foreach ($mline in $manifestContent) { | |
if ($mline -match '"installdir"\s+"([^"]+)"') { | |
$installDir = $matches[1] | |
$narakaPath = Join-Path $lib "steamapps\common\$installDir" | |
$narakaPaths += $narakaPath | |
break | |
} | |
} | |
} | |
} | |
# Use the first found Naraka path for legacy compatibility | |
$narakaPath = $null | |
if ($narakaPaths.Count -gt 0) { | |
$narakaPath = $narakaPaths[0] | |
} | |
# Use the first found Steam path as the main path for legacy compatibility | |
$steamPath = $null | |
if ($steamLibraries.Count -gt 0) { | |
$steamPath = $steamLibraries[0] | |
} | |
if (-not $steamPath) { | |
Write-Error "Could not find Steam installation path." | |
return | |
} | |
if ($narakaPath) { | |
$qualitySettingsPath = "$narakaPath\NarakaBladepoint_Data\QualitySettingsData.txt" | |
Write-Output "Naraka: Bladepoint installation path: $narakaPath" | |
Write-Output "Updating QualitySettingsData.txt..." | |
$qualitySettingsContent = Get-Content -Raw -Path "$qualitySettingsPath" | |
$qualitySettingsContent = $qualitySettingsContent -replace 'characterAdditionalPhysics1":false', 'characterAdditionalPhysics1":true' | |
Set-Content -Path "$qualitySettingsPath" -Value $qualitySettingsContent | |
Write-Output "QualitySettingsData.txt updated successfully." | |
Write-Output "Restart Naraka: Bladepoint to apply the changes." | |
} else { | |
Write-Output "Naraka: Bladepoint is not installed in any Steam library." | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
win+r and paste