Command & Conquer: Generals
Developers | |
---|---|
EA Pacific | |
Publishers | |
Electronic ArtsAspyr Media | |
Release Date | |
Windows: February 10, 2003 | |
Genres | |
Real Time Strategy (RTS)Strategy | |
View at PCGamingWiki |
Actions
Name | Path | Arguments | Working Directory | Primary |
---|---|---|---|---|
Play | {InstallDir}\generals.exe | True | ||
World Builder | {InstallDir}\WorldBuilder.exe | False |
Install Script
This script requires admin access to function properly
$Key = $AllocatedKey -Replace "-", ""
# Bounds are accessible by $Display.Bounds.Width and $Display.Bounds.Height
$Display = Get-PrimaryDisplay
$X = $Display.Bounds.Width
$Y = $Display.Bounds.Height
$GeneralsPath = "HKLM:\SOFTWARE\WOW6432Node\Electronic Arts\EA Games\Generals"
New-Item -Path "$GeneralsPath" -Force
New-Item -Path "$GeneralsPath\ergc" -Force
New-ItemProperty -Path "$GeneralsPath" -Name "InstallPath" -Value "$InstallDirectory\"
New-ItemProperty -Path "$GeneralsPath" -Name "Language" -Value "english"
New-ItemProperty -Path "$GeneralsPath" -Name "MapPackVersion" -Value 65536
New-ItemProperty -Path "$GeneralsPath" -Name "Version" -Value 65544
Set-ItemProperty -Path "$GeneralsPath\ergc" -Name "(Default)" -Value $Key
Copy-Item -Path "$InstallDirectory\ProfileTemplate" -Destination "$($env:USERPROFILE)\Documents\Command and Conquer Generals Data" -Recurse
Write-ReplaceContentInFile -Pattern '^Resolution = (.+)' -Substitution "Resolution = $X $Y" -FilePath "$($env:USERPROFILE)\Documents\Command and Conquer Generals Data\options.ini"
Uninstall Script
This script requires admin access to function properly
$GeneralsPath = "HKLM:\SOFTWARE\WOW6432Node\Electronic Arts\EA Games\Generals"
Remove-Item -Path "$GeneralsPath" -recurse -Force
Remove-Item -Path "$env:USERPROFILE\Documents\Command and Conquer Generals Data" -Recurse -force
Name Change Script
if ($NewPlayerAlias.Length -gt 11) {
$NewPlayerAlias = $NewPlayerAlias.Substring(0, 11);
}
$NetworkPrefsFormattedName = ""
foreach ($character in $NewPlayerAlias.ToCharArray()) {
$NetworkPrefsFormattedName = $NetworkPrefsFormattedName + $character + "_00"
}
$NetworkPrefsIni = "UserName = $NetworkPrefsFormattedName"
New-Item -ItemType Directory -Force -Path "$($env:USERPROFILE)\Command and Conquer Generals Data"
Set-Content "$($env:USERPROFILE)\Command and Conquer Generals Data\Network.ini" $NetworkPrefsIni
$SkirmishIni = @"
Color = -1
FPS = 30
Map = maps\alpine assault\alpine assault.map
PlayerTemplate = -1
SlotList = M=03maps/alpine assault;MC=B7E74B8C;MS=275524;SD=71090984;C=100;S=HPats-Desktop,0,0,TT,-1,-1,-1,-1,1:CE,-1,-1,-1,-1:O:O:O:O:O:O:;
UserName = $NetworkPrefsFormattedName
"@
Set-Content "$($env:USERPROFILE)\Command and Conquer Generals Data\Skirmish.ini" $SkirmishIni
Key Change Script
This script requires admin access to function properly
$GeneralsPath = "HKLM:\SOFTWARE\WOW6432Node\Electronic Arts\EA Games\Generals"
$Key = $AllocatedKey -Replace "-", ""
Set-ItemProperty -Path "$GeneralsPath\ergc" -Name "(Default)" -Value $Key