Add a networking receive loop and in-plugin remote-player storage. Introduces F4TRemotePlayerState (header + implementation) to track assigned playerId and remote player snapshots with thread-safe access. Expands F4TNetworking to start/stop a background receive thread, parse newline-separated JSON packets (welcome, transform, disconnect), validate fields, update remote state, throttle logs, and handle socket/thread synchronization. Add nlohmann_json to xmake and plugin build. Update docs and dev log to reflect the new receive behavior and current prototype scope.
33 lines
837 B
Lua
33 lines
837 B
Lua
-- include subprojects
|
|
includes("lib/commonlibf4")
|
|
|
|
-- set project constants
|
|
set_project("Fallout4Together")
|
|
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("Fallout4Together")
|
|
add_rules("commonlibf4.plugin", {
|
|
name = "Fallout4Together",
|
|
author = "Fallout4Together",
|
|
description = "Fallout4Together 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_packages("nlohmann_json")
|
|
add_syslinks("ws2_32")
|
|
set_pcxxheader("src/pch.h")
|