Battlefield 1942: Difference between revisions
DoctorDalek (talk | contribs) No edit summary |
DoctorDalek (talk | contribs) (Fixes to deprecated PowerShell scripts) |
||
Line 2: | Line 2: | ||
{{Game.InfoBox | {{Game.InfoBox | ||
|Cover = cover.jpg | |Cover = cover.jpg | ||
|Developers = | |||
{{Game.InfoBox.Developer|Digital Illusions CE}} | |||
|Publishers = | |||
{{Game.InfoBox.Developer|Electronic Arts}}{{Game.InfoBox.Developer|Aspyr Media}} | |||
|Release Date = | |Release Date = | ||
{{Game.InfoBox.ReleaseDate|Windows|September 10, 2002}} | {{Game.InfoBox.ReleaseDate|Windows|September 10, 2002}} | ||
| PCGamingWiki = Battlefield_1942 | |Genres = | ||
}} | {{Game.InfoBox.Genre|Shooter}} | ||
|PCGamingWiki = Battlefield_1942}} | |||
{{Game.ActionBox | {{Game.ActionBox | ||
|Actions = | |Actions = | ||
{{Game.ActionBox.Row|Name = Play Battlefield 1942: Secret Weapons of WWII|Path = BF1942.exe|Arguments = | {{Game.ActionBox.Row|Name = Play Battlefield 1942: Secret Weapons of WWII|Path = {InstallDir}\BF1942.exe|Arguments = +game XPack2|WorkingDirectory = |Primary = True}} | ||
{{Game.ActionBox.Row|Name = Play Battlefield 1942|Path = BF1942.exe|Arguments = |WorkingDirectory = |Primary = True}} | {{Game.ActionBox.Row|Name = Play Battlefield 1942|Path = {InstallDir}\BF1942.exe|Arguments = |WorkingDirectory = |Primary = True}} | ||
{{Game.ActionBox.Row|Name = Play Battlefield 1942: The Road to Rome|Path = BF1942.exe|Arguments = | {{Game.ActionBox.Row|Name = Play Battlefield 1942: The Road to Rome|Path = {InstallDir}\BF1942.exe|Arguments = +game XPack1|WorkingDirectory = |Primary = True}} | ||
}} | }} | ||
{{Game.Scripts.Install | |||
|Name = Install Script | |||
|Description = | |||
|RequiresAdmin = False | |||
|Contents = | |||
<syntaxhighlight lang="powershell" line> | |||
####################################################################### | |||
#Updates Screen Resolution to match desktop resolution | |||
####################################################################### | |||
$Config1 = "$InstallDirectory\ProfileTemplate\Video.con" | |||
$Config2 = "$InstallDirectory\ProfileTemplate\VideoCustom.con" | |||
$Config3 = "$InstallDirectory\Mods\bf1942\Settings\Profiles\Custom\Video.con" | |||
$Config4 = "$InstallDirectory\Mods\bf1942\Settings\Profiles\Custom\VideoCustom.con" | |||
# Bounds are accessible by $Display.Bounds.Width and $Display.Bounds.Height | |||
$Display = Get-PrimaryDisplay | |||
# Use regex to replace text within a file. Quotes are escaped by double quoting ("") | |||
Write-ReplaceContentInFile -Pattern '^game.setGameDisplayMode (.+)' -Substitution "game.setGameDisplayMode $($Display.Bounds.Width) $($Display.Bounds.Height) 32 60" -FilePath "$Config1" | |||
Write-ReplaceContentInFile -Pattern '^game.setGameDisplayMode (.+)' -Substitution "game.setGameDisplayMode $($Display.Bounds.Width) $($Display.Bounds.Height) 32 60" -FilePath "$Config2" | |||
Write-ReplaceContentInFile -Pattern '^game.setGameDisplayMode (.+)' -Substitution "game.setGameDisplayMode $($Display.Bounds.Width) $($Display.Bounds.Height) 32 0" -FilePath "$Config3" | |||
Write-ReplaceContentInFile -Pattern '^game.setGameDisplayMode (.+)' -Substitution "game.setGameDisplayMode $($Display.Bounds.Width) $($Display.Bounds.Height) 32 0" -FilePath "$Config4" | |||
####################################################################### | |||
</syntaxhighlight> | |||
}} | |||
{{Game.Scripts.NameChange | {{Game.Scripts.NameChange | ||
|Name = Name Change Script | |Name = Name Change Script | ||
|Description = A template profile is copied from the base game directory and some files have to be modified to set the primary selected profile. | |Description = A template profile is copied from the base game directory and some files have to be modified to set the primary selected profile. | ||
|RequiresAdmin = False | |RequiresAdmin = False | ||
|Contents = <syntaxhighlight lang="powershell" line> | |Contents = | ||
<syntaxhighlight lang="powershell" line> | |||
# Clear out any existing profile with the same name | # Clear out any existing profile with the same name | ||
Remove-Item "$ | Remove-Item "$InstallDirectory\Mods\bf1942\Settings\Profiles\$NewPlayerAlias" -Recurse -ErrorAction Ignore | ||
if ($ | if ($OldPlayerAlias -ne "") { | ||
if (Test-Path -Path "$ | if (Test-Path -Path "$InstallDirectory\Mods\bf1942\Settings\Profiles\$OldPlayerAlias") { | ||
# Profile exists with old name | # Profile exists with old name | ||
Move-Item -Path "$ | Move-Item -Path "$InstallDirectory\Mods\bf1942\Settings\Profiles\$OldPlayerAlias" -Destination "$InstallDirectory\Mods\bf1942\Settings\Profiles\$NewPlayerAlias" -Force | ||
} else { | } else { | ||
# Old profile doesn't exist, scaffold a new one | # Old profile doesn't exist, scaffold a new one | ||
Copy-Item -Path "$ | Copy-Item -Path "$InstallDirectory\ProfileTemplate" -Destination "$InstallDirectory\Mods\bf1942\Settings\Profiles\$NewPlayerAlias" -Recurse | ||
} | } | ||
} else { | } else { | ||
# New install, scaffold new profile | # New install, scaffold new profile | ||
Copy-Item -Path "$ | Copy-Item -Path "$InstallDirectory\ProfileTemplate" -Destination "$InstallDirectory\Mods\bf1942\Settings\Profiles\$NewPlayerAlias" -Recurse | ||
} | } | ||
Write-ReplaceContentInFile - | Write-ReplaceContentInFile -Pattern 'rem \*\* (.+) \*\*' -Substitution "rem ** $NewPlayerAlias **" -FilePath "$InstallDirectory\Mods\bf1942\Settings\Profile.con" | ||
Write-ReplaceContentInFile - | Write-ReplaceContentInFile -Pattern 'game.setProfile "(.+)"' -Substitution "game.setProfile ""$NewPlayerAlias""" -FilePath "$InstallDirectory\Mods\bf1942\Settings\Profile.con" | ||
Write-ReplaceContentInFile - | Write-ReplaceContentInFile -Pattern 'game.setPlayerName "(.+)"' -Substitution "game.setPlayerName ""$NewPlayerAlias""" -FilePath "$InstallDirectory\Mods\bf1942\Settings\Profiles\$NewPlayerAlias\GeneralOptions.con" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} |
Revision as of 02:02, 6 January 2024
Developers | |
---|---|
Digital Illusions CE | |
Publishers | |
Electronic ArtsAspyr Media | |
Release Date | |
Windows: September 10, 2002 | |
Genres | |
Shooter | |
View at PCGamingWiki |
Actions
Name | Path | Arguments | Working Directory | Primary |
---|---|---|---|---|
Play Battlefield 1942: Secret Weapons of WWII | {InstallDir}\BF1942.exe | +game XPack2 | True | |
Play Battlefield 1942 | {InstallDir}\BF1942.exe | True | ||
Play Battlefield 1942: The Road to Rome | {InstallDir}\BF1942.exe | +game XPack1 | True |
Install Script
#######################################################################
#Updates Screen Resolution to match desktop resolution
#######################################################################
$Config1 = "$InstallDirectory\ProfileTemplate\Video.con"
$Config2 = "$InstallDirectory\ProfileTemplate\VideoCustom.con"
$Config3 = "$InstallDirectory\Mods\bf1942\Settings\Profiles\Custom\Video.con"
$Config4 = "$InstallDirectory\Mods\bf1942\Settings\Profiles\Custom\VideoCustom.con"
# Bounds are accessible by $Display.Bounds.Width and $Display.Bounds.Height
$Display = Get-PrimaryDisplay
# Use regex to replace text within a file. Quotes are escaped by double quoting ("")
Write-ReplaceContentInFile -Pattern '^game.setGameDisplayMode (.+)' -Substitution "game.setGameDisplayMode $($Display.Bounds.Width) $($Display.Bounds.Height) 32 60" -FilePath "$Config1"
Write-ReplaceContentInFile -Pattern '^game.setGameDisplayMode (.+)' -Substitution "game.setGameDisplayMode $($Display.Bounds.Width) $($Display.Bounds.Height) 32 60" -FilePath "$Config2"
Write-ReplaceContentInFile -Pattern '^game.setGameDisplayMode (.+)' -Substitution "game.setGameDisplayMode $($Display.Bounds.Width) $($Display.Bounds.Height) 32 0" -FilePath "$Config3"
Write-ReplaceContentInFile -Pattern '^game.setGameDisplayMode (.+)' -Substitution "game.setGameDisplayMode $($Display.Bounds.Width) $($Display.Bounds.Height) 32 0" -FilePath "$Config4"
#######################################################################
Name Change Script
A template profile is copied from the base game directory and some files have to be modified to set the primary selected profile.
# Clear out any existing profile with the same name
Remove-Item "$InstallDirectory\Mods\bf1942\Settings\Profiles\$NewPlayerAlias" -Recurse -ErrorAction Ignore
if ($OldPlayerAlias -ne "") {
if (Test-Path -Path "$InstallDirectory\Mods\bf1942\Settings\Profiles\$OldPlayerAlias") {
# Profile exists with old name
Move-Item -Path "$InstallDirectory\Mods\bf1942\Settings\Profiles\$OldPlayerAlias" -Destination "$InstallDirectory\Mods\bf1942\Settings\Profiles\$NewPlayerAlias" -Force
} else {
# Old profile doesn't exist, scaffold a new one
Copy-Item -Path "$InstallDirectory\ProfileTemplate" -Destination "$InstallDirectory\Mods\bf1942\Settings\Profiles\$NewPlayerAlias" -Recurse
}
} else {
# New install, scaffold new profile
Copy-Item -Path "$InstallDirectory\ProfileTemplate" -Destination "$InstallDirectory\Mods\bf1942\Settings\Profiles\$NewPlayerAlias" -Recurse
}
Write-ReplaceContentInFile -Pattern 'rem \*\* (.+) \*\*' -Substitution "rem ** $NewPlayerAlias **" -FilePath "$InstallDirectory\Mods\bf1942\Settings\Profile.con"
Write-ReplaceContentInFile -Pattern 'game.setProfile "(.+)"' -Substitution "game.setProfile ""$NewPlayerAlias""" -FilePath "$InstallDirectory\Mods\bf1942\Settings\Profile.con"
Write-ReplaceContentInFile -Pattern 'game.setPlayerName "(.+)"' -Substitution "game.setPlayerName ""$NewPlayerAlias""" -FilePath "$InstallDirectory\Mods\bf1942\Settings\Profiles\$NewPlayerAlias\GeneralOptions.con"