Integrate a PrismaUI_F4-based HTML server browser and related tooling. Adds a ThirdParty submodule (framework-F4-Conversion), UI views (CommonwealthOnline browser HTML/JS/CSS), and multiple plugin headers/sources to bridge PrismaUI/Scaleform, handle menu input, and manage server browser data and actions (mock server list, join/connect flow). Key changes: - New build/deploy scripts: build-prismaui.bat, build-all.bat, deploy-all.bat, deploy-ui.bat and a PowerShell helper for linking the Ultralight SDK (ULTRALIGHT_SDK_PATH, default F:\\UltralightSDK). - Plugin additions: F4TPrismaUI, F4TScaleformUI, F4TServerBrowserBridge, F4TServerBrowserData, F4TMenuInput, F4TDebugOverlay and implementations to create/show/hide the HTML view, forward controller input, register Scaleform functions (openManager/closeManager), and push UI events. - Networking: add ConnectToServer(host,port) and keep ConnectToLocalServer() as wrapper; update connection logs and error handling. - Main menu SWF/AS updates: updated MainMenu.swf and MainMenu.as to call closeManager() when leaving multiplayer and to integrate open/close hooks. - Documentation: plugin/setup.md updated with PrismaUI build/deploy instructions. - Removed Main_ModManager.swf (deleted). Primary intent: provide an in-game HTML server browser (toggleable with F9 or Scaleform calls), wire up controller input, and add build/deploy workflow for PrismaUI/Ultralight so developers can build and deploy the UI and plugin together. Mock server data is used for now; network join/connect plumbing is provided for local/dev servers.
38 lines
1.2 KiB
PowerShell
38 lines
1.2 KiB
PowerShell
param(
|
|
[string]$SdkPath = "F:\UltralightSDK"
|
|
)
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
|
|
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
|
$repoRoot = Split-Path -Parent $scriptDir
|
|
$frameworkBuild = Join-Path $repoRoot "ThirdParty\framework-F4-Conversion\build"
|
|
$linkPath = Join-Path $frameworkBuild "ultralight-1.4.0"
|
|
|
|
if (-not (Test-Path $SdkPath)) {
|
|
Write-Error "Ultralight SDK not found at: $SdkPath"
|
|
}
|
|
|
|
foreach ($required in @("include", "lib", "bin", "resources")) {
|
|
$candidate = Join-Path $SdkPath $required
|
|
if (-not (Test-Path $candidate)) {
|
|
Write-Error "Ultralight SDK is missing required folder: $candidate"
|
|
}
|
|
}
|
|
|
|
New-Item -ItemType Directory -Path $frameworkBuild -Force | Out-Null
|
|
|
|
if (Test-Path $linkPath) {
|
|
$item = Get-Item $linkPath -Force
|
|
if ($item.Attributes -band [IO.FileAttributes]::ReparsePoint) {
|
|
Write-Host "Removing existing junction: $linkPath"
|
|
cmd /c rmdir "$linkPath" | Out-Null
|
|
} else {
|
|
Write-Error "Expected a junction at $linkPath but found a normal directory. Remove it manually and rerun."
|
|
}
|
|
}
|
|
|
|
Write-Host "Linking $linkPath -> $SdkPath"
|
|
cmd /c mklink /J "$linkPath" "$SdkPath" | Out-Null
|
|
Write-Host "Ultralight SDK link ready."
|