Command & Conquer: Renegade

From LANCommander
Revision as of 07:02, 31 July 2023 by DoctorDalek (talk | contribs) (Created page with "Category:Games {{Game.InfoBox |Cover = cover.jpg |Release Date = {{Game.InfoBox.ReleaseDate|Windows|February 26, 2002}} | PCGamingWiki = Command_%26_Conquer:_Renegade }} {{Game.ActionBox |Actions = {{Game.ActionBox.Row|Name = Configuration Tool|Path = WWConfig.exe|Arguments = |WorkingDirectory = |Primary = False}} {{Game.ActionBox.Row|Name = Play|Path = Game.exe|Arguments = |WorkingDirectory = |Primary = True}} }} {{Game.Scripts.KeyChange |Name = Key Change Script...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Release Date
Windows: February 26, 2002
View at PCGamingWiki

Actions

Name Path Arguments Working Directory Primary
Configuration Tool WWConfig.exe False
Play Game.exe True

Key Change Script

This script requires admin access to function properly

$Key = $args[0]

# Const, WOLData.key
$woldata = "04986627193318147921680928765690038703412631629541829427981390480026273565342680243441611903515001062268622186233202902241104710"

$Key = $Key.Replace("-", "")

for ($i = 0, $j = 0; $i -lt $woldata.Length; $i++, $j++) {
	if ($j -eq $Key.Length) {
		$j = 0
	}

	$value = (([int]$Key[$j] + [int]$woldata[$i] + 2) % 10 + '0')

	$Key = $Key.Substring(0, $j) + [char]$value + $Key.Substring($j + 1)
}

# Creates or updates a key in the registry
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Westwood" -Name "Serial" -Value "$Key" -Force

Install Script

This script requires admin access to function properly

$InstallDir = $PSScriptRoot
# Accessible via $Display.Width and $Display.Height
Add-Type -AssemblyName System.Windows.Forms
$Display = ([System.Windows.Forms.Screen]::AllScreens | Where-Object Primary).Bounds

$User = New-Object System.Security.Principal.NTAccount($env:UserName)
$SID = $User.Translate([System.Security.Principal.SecurityIdentifier]).value

# Non-destructively creates path in registry
New-Item -Path "HKLM:\SOFTWARE\WOW6432Node\Westwood"
New-Item -Path "HKLM:\SOFTWARE\WOW6432Node\Westwood\Renegade"
New-Item -Path "HKLM:\SOFTWARE\WOW6432Node\Westwood\Renegade\Render"

New-Item -Path "registry::\HKEY_USERS\$SID\Software\Classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\Westwood"
New-Item -Path "registry::\HKEY_USERS\$SID\Software\Classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\Westwood\Renegade"
New-Item -Path "registry::\HKEY_USERS\$SID\Software\Classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\Westwood\Renegade\Render"
New-Item -Path "registry::\HKEY_USERS\$SID\Software\Classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\Westwood\Renegade\Networking"
New-Item -Path "registry::\HKEY_USERS\$SID\Software\Classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\Westwood\Renegade\Networking\Options"

# Creates or updates a key in the registry
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Westwood\Renegade" -Name "InstallPath" -Value "$InstallDir\Renegade.exe" -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Westwood\Renegade" -Name "SKU" -Value 3072 -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Westwood\Renegade" -Name "Version" -Value 65573 -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Westwood\Renegade" -Name "Language" -Value 0 -Force

New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Westwood\Renegade\Render" -Name "RenderDeviceDepth" -Value 32 -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Westwood\Renegade\Render" -Name "RenderDeviceHeight" -Value $Display.Height -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Westwood\Renegade\Render" -Name "RenderDeviceWidth" -Value $Display.Width -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Westwood\Renegade\Render" -Name "RenderDeviceWindowed" -Value 0 -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Westwood\Renegade\Render" -Name "RenderDeviceTextureDepth" -Value 32 -Force
New-ItemProperty -Path "registry::\HKEY_USERS\$SID\Software\Classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\Westwood\Renegade\Render" -Name "RenderDeviceDepth" -Value 32 -Force
New-ItemProperty -Path "registry::\HKEY_USERS\$SID\Software\Classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\Westwood\Renegade\Render" -Name "RenderDeviceHeight" -Value $Display.Height -Force
New-ItemProperty -Path "registry::\HKEY_USERS\$SID\Software\Classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\Westwood\Renegade\Render" -Name "RenderDeviceWidth" -Value $Display.Width -Force
New-ItemProperty -Path "registry::\HKEY_USERS\$SID\Software\Classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\Westwood\Renegade\Render" -Name "RenderDeviceWindowed" -Value 0 -Force
New-ItemProperty -Path "registry::\HKEY_USERS\$SID\Software\Classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\Westwood\Renegade\Render" -Name "RenderDeviceTextureDepth" -Value 32 -Force
New-ItemProperty -Path "registry::\HKEY_USERS\$SID\Software\Classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\Westwood\Renegade\Networking\Options" -Name "MyLanName" -Value "Vintage" -Force

Name Change Script

$NewName = $args[0]
$User = New-Object System.Security.Principal.NTAccount($env:UserName)
$SID = $User.Translate([System.Security.Principal.SecurityIdentifier]).value

# Trim a string down to a specified amount of characters
if ($NewName.Length -gt 9) {
    $NewName = $NewName.Substring(0, 9);
}

New-ItemProperty -Path "registry::\HKEY_USERS\$SID\Software\Classes\VirtualStore\MACHINE\SOFTWARE\WOW6432Node\Westwood\Renegade\Networking\Options" -Name "MyLanName" -Value "$NewName" -Force