-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGridGoggerMTFix.ps1
116 lines (102 loc) · 4.24 KB
/
GridGoggerMTFix.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
$pingCount = 4
$xdelta3= "https://github.com/jmacd/xdelta-gpl/releases/download/v3.1.0/xdelta3-3.1.0-x86_64.exe.zip"
$GridMTFix = "https://github.com/xatornet/GridMTFix/releases/download/v0.1/GridMTFix_Win.zip"
$gogger= "https://github.com/xatornet/GridGogger/raw/main/gogger.vcdiff"
# Function to simulate a delay
function Delay {
param($seconds)
Start-Sleep -Seconds $seconds
}
Clear-Host
# Check if grid.bak exists
Write-Host "Checking if Exe file has been patched..."
Write-Host ""
Delay 3
if (Test-Path -Path "grid.steam.bak") {
Write-Host "Exe file has been already patched. No further work needed."
Write-Host "Loading script..."
Delay 4
}
else {
Clear-Host
Write-Host "Exe file has NOT been patched. Making a backup and patching."
Delay 3
Write-Host ""
Write-Host "Gogger process initiated..."
Delay 3
Write-Host ""
Write-Host "Downloading Required Files"
Invoke-WebRequest -Uri $xdelta3 -OutFile ".\xdelta3.zip"
Invoke-WebRequest -Uri $gogger -OutFile ".\gogger.vcdiff"
Expand-Archive ".\xdelta3.zip" ".\" | Out-Null
Delay 3
Rename-Item -Path "grid.exe" "grid.steam.bak"
Start-Process -Wait -Filepath ".\xdelta3-3.1.0-x86_64.exe" -ArgumentList "-d -s grid.steam.bak gogger.vcdiff grid.exe" | Out-Null
Write-Host ""
Write-Host "Gogger process completed."
Remove-Item -Path ".\xdelta3.zip" -Force -ErrorAction SilentlyContinue
Remove-Item -Path ".\xdelta3-3.1.0-x86_64.exe" -Force -ErrorAction SilentlyContinue
Remove-Item -Path ".\gogger.vcdiff" -Force -ErrorAction SilentlyContinue
Delay 3
Clear-Host
Write-Host ""
Write-Host "Loading script..."
Delay 4
}
Clear-Host
Write-Host "Downloading Required Files"
New-Item -ItemType Directory -Path ".\PatchingD" | Out-Null
Invoke-WebRequest -Uri $GridMTFix -OutFile ".\PatchingD\GridMTFix.zip"
Expand-Archive ".\PatchingD\GridMTFix.zip" ".\PatchingD\" | Out-Null
Write-Host ""
Write-Host "Applying NEW MULTITHREAD FIX AND UPDATING INGAME OPTIONS"
Write-Host ""
Write-Host "WARNING - YOUR INGAME SETTINGS WILL RESET"
Write-Host ""
Delay 3
Copy-Item -Path ".\PatchingD\Files\*" -Destination ".\" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:userprofile\Documents\Codemasters\GRID\hardwaresettings\*.xml" -Force -ErrorAction SilentlyContinue
# Obtener el número de cores lógicos del CPU
$cores = (Get-WmiObject -Class Win32_ComputerSystem).NumberOfLogicalProcessors
# Testeo del Script
#$cores = 64
# Definir los valores válidos de cores
$valid_cores = 8, 12, 16, 20, 24, 28, 32
# Definir el valor de grid_cores basado en el número de cores
if ($cores -gt 32) {
$grid_cores = 32
Write-Host "Your CPU has $cores cores, but the game is limited to 32 cores, so that will be the max core count used."
Delay 4
}
elseif ($cores -lt 8) {
$grid_cores = 8
Write-Host "Race Driver: Grid already supports your CPU core count."
Delay 4
}
else {
# Verificar si el número de cores está en la lista de valid_cores
if ($valid_cores -contains $cores) {
$grid_cores = $cores
}
else {
# Obtener el valor de valid_cores inmediatamente inferior a $cores
$grid_cores = $valid_cores | Where-Object { $_ -lt $cores } | Select-Object -Last 1
}
}
# Ruta del archivo de plantilla y archivo de salida
$template_file = "Template.xml"
$output_file = "system\hardware_settings_restrictions.xml"
# Leer el contenido de la plantilla
$template_content = Get-Content $template_file -Raw
# Reemplazar el valor "_Y_" por el valor de grid_cores en la plantilla
$updated_content = $template_content -replace "_Y_", $grid_cores
# Guardar el contenido actualizado en el archivo de salida
$updated_content | Set-Content $output_file
Remove-Item -Path "Template.xml" -Force -ErrorAction SilentlyContinue
Remove-Item -Path ".\PatchingD" -Force -Recurse -ErrorAction SilentlyContinue
Remove-Item -Path "GridMTFix.zip" -Force -ErrorAction SilentlyContinue
Write-Host "Your CPU has $cores cores. Race Driver: Grid will use $grid_cores cores."
Delay 3
Write-Host ""
Write-Host "HAPPY GAMING!! GOODBYE :-)"
Delay 3