Recreate lidia controls with Node2D

This commit is contained in:
Marek S. Łukasiewicz 2025-12-14 00:12:56 +01:00
parent f3d38c7569
commit 821072eae5
23 changed files with 433 additions and 35 deletions

View file

@ -1,11 +1,12 @@
extends Node
const PFD_PATH: String = "pfd#adi,vsi,alt,ias,rht,rpm,hsi"
const CONTROLS_PATH: String = "controls#collective,cyclic,rudder"
@export var lidia_hostname: String = "localhost"
@export var lidia_port: int = 5555
@onready var controls: Node = $SubViewport2/Controls
func _ready():
if !$CEF.initialize({"incognito":true, "locale":"en-US"}):
push_error($CEF.get_error())
@ -24,10 +25,8 @@ func _ready():
browser_pfd.name = "pfd"
browser_pfd.enable_ad_block(false) # Required for lidia static assets
var browser_ctrl = $CEF.create_browser(
"http://{}:{}/{}".format([lidia_hostname, lidia_port, CONTROLS_PATH], "{}"),
$SubViewport2/TextureRect,
{ "frame_rate": 90, "javascript": true },
)
browser_ctrl.name = "controls"
browser_ctrl.enable_ad_block(false) # Required for lidia static assets
# Propagate the calls to child
func set_controls(current: Vector4):
controls.call("set_controls", current)
func set_trim(trim: Vector4):
controls.call("set_trim", trim)