Doom 3

From LANCommander
Revision as of 00:29, 1 August 2023 by DoctorDalek (talk | contribs) (Created page with "Category:Games {{Game.InfoBox |Cover = cover.jpg |Developers = {{Game.InfoBox.Developer|id Software}} |Publishers = {{Game.InfoBox.Publisher|Activision}} {{Game.InfoBox.Publisher|Aspyr Media}} |Release Date = {{Game.InfoBox.ReleaseDate|Windows|August 3, 2004}} |Genres = {{Game.InfoBox.Genre|Shooter}} | PCGamingWiki = Doom_3 }} {{Game.ActionBox |Actions = {{Game.ActionBox.Row|Name = Play Doom 3|Path = dhewm3.exe|Arguments = |WorkingDirectory = |Primary = True}} {{Ga...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Developers
id Software
Publishers
Activision Aspyr Media
Release Date
Windows: August 3, 2004
Genres
Shooter
View at PCGamingWiki

Actions

Name Path Arguments Working Directory Primary
Play Doom 3 dhewm3.exe True
Play Doom 3 - Resurrection of Evil dhewm3.exe +set fs_game d3xp True

Save Paths

Type Path
File %USERPROFILE%/Documents/My Games/dhewm3

Install Script

$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

function Write-ReplaceContentInFile([string]$Regex, [string]$Replacement, [string]$FilePath)
{
    $content = (Get-Content $FilePath) -replace $Regex, $Replacement
    [IO.File]::WriteAllLines($FilePath, $content)
}

Copy-Item -Path "$InstallDir\ProfileTemplate" -Destination "$($env:USERPROFILE)\Documents\My Games\dhewm3" -Recurse

# Use regex to replace text within a file. Quotes are escaped by double quoting ("")
Write-ReplaceContentInFile -Regex '^seta r_customHeight "(.+)"' -Replacement "seta r_customHeight ""$($Display.Height)""" -FilePath "$($env:USERPROFILE)\Documents\My Games\dhewm3\base\dhewm.cfg"
Write-ReplaceContentInFile -Regex '^seta r_customWidth "(.+)"' -Replacement "seta r_customWidth ""$($Display.Width)""" -FilePath "$($env:USERPROFILE)\Documents\My Games\dhewm3\base\dhewm.cfg"
Write-ReplaceContentInFile -Regex '^seta r_customHeight "(.+)"' -Replacement "seta r_customHeight ""$($Display.Height)""" -FilePath "$($env:USERPROFILE)\Documents\My Games\dhewm3\d3xp\dhewm.cfg"
Write-ReplaceContentInFile -Regex '^seta r_customWidth "(.+)"' -Replacement "seta r_customWidth ""$($Display.Width)""" -FilePath "$($env:USERPROFILE)\Documents\My Games\dhewm3\d3xp\dhewm.cfg"

Name Change Script

$InstallDir = $PSScriptRoot
$NewName = $args[0]

function Write-ReplaceContentInFile([string]$Regex, [string]$Replacement, [string]$FilePath)
{
    $content = (Get-Content $FilePath) -replace $Regex, $Replacement
    [IO.File]::WriteAllLines($FilePath, $content)
}

# Use regex to replace text within a file. Quotes are escaped by double quoting ("")
Write-ReplaceContentInFile -Regex '^seta ui_name "(.+)"' -Replacement "seta ui_name ""$NewName""" -FilePath "$($env:USERPROFILE)\Documents\My Games\dhewm3\base\dhewm.cfg"
Write-ReplaceContentInFile -Regex '^seta ui_name "(.+)"' -Replacement "seta ui_name ""$NewName""" -FilePath "$($env:USERPROFILE)\Documents\My Games\dhewm3\d3xp\dhewm.cfg"