From 2fe23785d58ec7ec500b9afa5248df13bea24e87 Mon Sep 17 00:00:00 2001 From: Richard Harrison <rjh@zaretto.com> Date: Thu, 17 Mar 2022 19:27:13 +0100 Subject: [PATCH] Multiplayer pilot list fixes - made it more robust so that bad data doesn't stop it from working. - optimised to store the prop nodes that we use in the list --- Nasal/multiplayer.nas | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/Nasal/multiplayer.nas b/Nasal/multiplayer.nas index 4a28218ec..43cd70804 100644 --- a/Nasal/multiplayer.nas +++ b/Nasal/multiplayer.nas @@ -435,18 +435,18 @@ var dialog = { if (distance_delta < -10) distance_delta_text = ' -'; } n.setValues({ - "model-short": n.getNode("model-installed").getValue() ? mp.model : "[" ~ mp.model ~ "]", + "model-short": mp.modelInstallNode.getValue() ? mp.model : "[" ~ mp.model ~ "]", "set-loaded": set_loaded ? " *" : " ", "bearing-to": self.course_to(ac), "distance-to-km": distance / 1000.0, "distance-to-nm": distance * M2NM, "distance_delta": distance_delta_text, - "position/altitude-m": n.getNode("position/altitude-ft").getValue() * FT2M, + "position/altitude-m": mp.altitudeNode.getValue() * FT2M, "ascent_descent": ascent_descent, "controls/invisible": contains(ignore, mp.callsign), "id-code": idcode, "airport-id": airport_id, - "lag/lag-mod-averaged-ms": n.getNode("lag/lag-mod-averaged").getValue() * 1000, + "lag/lag-mod-averaged-ms": (mp.lagModAveragedNode.getDoubleValue() or 0) * 1000, }); } } @@ -596,8 +596,16 @@ var model = { model = me.remove_suffix(model, "-anim"); var root = n.getPath(); - var data = { node: n, callsign: callsign, model: model, root: root, - sort: string.lc(callsign) }; + var data = { + node: n, + callsign: callsign, + model: model, + root: root, + sort: string.lc(callsign), + modelInstallNode : n.getNode("model-installed",1), + altitudeNode : n.getNode("position/altitude-ft",1), + lagModAveragedNode: n.getNode("lag/lag-mod-averaged",1), + }; me.data[root] = data; me.callsign[callsign] = data;