Repository navigation
Expand file tree
/
Copy pathbuild.ps1
More file actions
32 lines (32 loc) · 1.99 KB
/
Copy pathbuild.ps1
File metadata and controls
32 lines (32 loc) · 1.99 KB
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
param([string]$OutputName = 'GuidePad.exe')
$ErrorActionPreference = 'Stop'
$compiler = Join-Path $env:WINDIR 'Microsoft.NET\Framework64\v4.0.30319\csc.exe'
if (!(Test-Path -LiteralPath $compiler)) {
throw 'Windows .NET Framework 4.x C# compiler not found.'
}
$source = Join-Path $PSScriptRoot 'src\GuidePad.cs'
$ds5 = Join-Path $PSScriptRoot 'src\Ds5Input.cs'
$bili = Join-Path $PSScriptRoot 'src\Bilibili.cs'
$bindings = Join-Path $PSScriptRoot 'src\Bindings.cs'
$account = Join-Path $PSScriptRoot 'src\Account.cs'
$recovery = Join-Path $PSScriptRoot 'src\StreamRecovery.cs'
$danmakuState = Join-Path $PSScriptRoot 'src\DanmakuState.cs'
$danmakuConverter = Join-Path $PSScriptRoot 'src\DanmakuConverter.cs'
$subtitleContinuity = Join-Path $PSScriptRoot 'src\SubtitleContinuity.cs'
$isolation = Join-Path $PSScriptRoot 'src\Isolation.cs'
$isolationNative = Join-Path $PSScriptRoot 'src\IsolationNative.cs'
$isolationAudio = Join-Path $PSScriptRoot 'src\IsolationAudio.cs'
$packetGate = Join-Path $PSScriptRoot 'research\Standalone\DualSensePacketGate.cs'
$isolationWasapi = Join-Path $PSScriptRoot 'src\IsolationWasapi.cs'
$icon = Join-Path $PSScriptRoot 'assets\GuidePad.ico'
$native = Join-Path $PSScriptRoot 'runtime\isolation\libVIIPER.dll'
$nativeLicense = Join-Path $PSScriptRoot 'src\libVIIPER.LICENSE.txt'
$output = Join-Path $PSScriptRoot $OutputName
& $compiler /nologo /target:winexe /platform:x64 /optimize+ /utf8output `
/reference:System.dll /reference:System.Core.dll /reference:System.Drawing.dll `
/reference:System.Windows.Forms.dll /reference:System.Web.Extensions.dll /reference:System.Xml.dll `
"/win32icon:$icon" `
"/resource:$native,GuidePad.IsolationNative.dll" "/resource:$nativeLicense,GuidePad.IsolationLicense.txt" `
"/out:$output" $source $ds5 $bili $bindings $account $recovery $danmakuState $danmakuConverter $subtitleContinuity $isolation $isolationNative $isolationAudio $isolationWasapi $packetGate
if ($LASTEXITCODE -ne 0) { throw 'Compilation failed.' }
Write-Host "Built $output"