Descent 3

From LANCommander
Revision as of 02:08, 6 January 2024 by DoctorDalek (talk | contribs)
Developers
Loki SoftwareOutrage Games
Publishers
Interplay EntertainmentGraphic Simulations
Release Date
Windows: June 17, 1999
Genres
SimulatorShooter
View at PCGamingWiki

Actions

Name Path Arguments Working Directory Primary
Patch Configuration {InstallDir}\InjectD3Configuration.exe False
Play {InstallDir}\InjectD3.exe True
Level Editor D3EDIT.EXE {InstallDir}/Editor False

Install Script

This script requires admin access to function properly

New-Item -Path "HKLM:\SOFTWARE\WOW6432Node\Outrage"
New-Item -Path "HKLM:\SOFTWARE\WOW6432Node\Outrage\Descent 3 Level Editor"
New-Item -Path "HKLM:\SOFTWARE\WOW6432Node\Outrage\Descent 3 Level Editor\Settings"
New-Item -Path "HKLM:\SOFTWARE\WOW6432Node\Outrage\Descent3"
New-Item -Path "HKLM:\SOFTWARE\WOW6432Node\Outrage\Descent3\Version"

New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Outrage\Descent 3 Level Editor" -Name "D3Dir" -Value "$InstallDirectory" -Force

New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Outrage\Descent3" -Name "ConnectionSpeed" -Value "Fast" -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Outrage\Descent3" -Name "NetworkConnection" -Value "LAN" -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Outrage\Descent3" -Name "ProfanityPrevention" -Value 0 -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Outrage\Descent3" -Name "PredefDetailSetting" -Value 3 -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Outrage\Descent3" -Name "PreferredRenderer" -Value 2 -Force

New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Outrage\Descent3\Version" -Name "Build" -Value 0 -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Outrage\Descent3\Version" -Name "Major" -Value 1 -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Outrage\Descent3\Version" -Name "Minor" -Value 4 -Force

Name Change Script

# Takes the variable $Filename, splits it by invalid characters, then joins using _
$NewPlayerAlias = $NewPlayerAlias.Split([IO.Path]::GetInvalidFileNameChars()) -join '_'

# Converts a string to a UTF16-encoded byte array. This looks like ASCII characters separated by 0x00 in most cases.
$bytes = ConvertTo-StringBytes -Input $NewPlayerAlias -Utf16 1 -MaxLength 19

Copy-Item -Path "$InstallDirectory\DefaultPilot" -Destination "$InstallDirectory\$NewPlayerAlias.plt"

Edit-PatchBinary -FilePath "$InstallDirectory\$NewPlayerAlias" -Offset 0x4 -Data $bytes

New-ItemProperty -Path "HKCU:\SOFTWARE\Outrage\Descent3" -Name "Default_pilot" -Value "$NewPlayerAlias.plt" -Force