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.
34 lines
934 B
Lua
34 lines
934 B
Lua
-- include subprojects
|
|
includes("lib/commonlibf4")
|
|
|
|
-- set project constants
|
|
set_project("CommonwealthOnline")
|
|
set_version("0.0.0")
|
|
set_license("GPL-3.0")
|
|
set_languages("c++23")
|
|
set_warnings("allextra")
|
|
|
|
-- add common rules
|
|
add_rules("mode.debug", "mode.releasedbg")
|
|
add_rules("plugin.vsxmake.autoupdate")
|
|
add_requires("nlohmann_json")
|
|
|
|
-- define targets
|
|
target("CommonwealthOnline")
|
|
add_rules("commonlibf4.plugin", {
|
|
name = "CommonwealthOnline",
|
|
author = "Commonwealth Online",
|
|
description = "Commonwealth Online F4SE plugin using CommonLibF4"
|
|
})
|
|
|
|
-- add src files
|
|
add_files("src/**.cpp")
|
|
add_headerfiles("src/**.h")
|
|
add_headerfiles("include/**.h")
|
|
add_includedirs("src")
|
|
add_includedirs("include")
|
|
add_includedirs("../ThirdParty/framework-F4-Conversion/example-f4se-plugin/src")
|
|
add_packages("nlohmann_json")
|
|
add_syslinks("ws2_32")
|
|
set_pcxxheader("src/pch.h")
|