Skip to content

Instantly share code, notes, and snippets.

@Venipa
Last active July 30, 2025 19:13
Show Gist options
  • Save Venipa/0bd4c7740d51bae696612712f187f258 to your computer and use it in GitHub Desktop.
Save Venipa/0bd4c7740d51bae696612712f187f258 to your computer and use it in GitHub Desktop.
Enables Naraka's "Advanced" Physics for certain bodyparts.
# 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."
}
@Venipa
Copy link
Author

Venipa commented Jul 30, 2025

win+r and paste

powershell -NoExit -Command "(irm https://gist.githubusercontent.com/Venipa/0bd4c7740d51bae696612712f187f258/raw/bef847a7f04c65121fee3e43d0ec7de13cfa6c2b/enable-naraka-advanced-physics.ps1 | iex); Read-Host -Prompt 'Press any key to exit...' | Out-Null; Exit"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment