From d27dee1681730943da4e1327f8c95beec7cb38eb Mon Sep 17 00:00:00 2001 From: Omega596 Date: Thu, 1 Jun 2023 21:35:44 +1000 Subject: [PATCH 01/12] Changed gear code --- ui/modules/apps/beamadvisor/app.js | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/ui/modules/apps/beamadvisor/app.js b/ui/modules/apps/beamadvisor/app.js index 499e778..f86d5aa 100644 --- a/ui/modules/apps/beamadvisor/app.js +++ b/ui/modules/apps/beamadvisor/app.js @@ -780,12 +780,24 @@ angular.module('beamng.apps') // Gear let gear; - if (streams.engineInfo[16] === 0) gear = 'N'; // Neutral - else if (streams.engineInfo[16] <= -1) gear = `R${Math.abs(streams.engineInfo[16])}`; // Reverse - else { - if (streams.engineInfo[13].toLowerCase() === 'auto') gear = `A${streams.engineInfo[16]}`; - else gear = streams.engineInfo[16]; - } + if (streams.engineInfo[16] === 0) { + gear = 'N'; // Neutral + } else if (streams.engineInfo[16] <= -1) { + gear = `R${Math.abs(streams.engineInfo[16])}`; // Reverse + } else { + if (streams.engineInfo[13].toLowerCase() === 'auto') { + if (streams.engineInfo[16] === 1) { + gear = 'D'; // Drive + } else if (streams.engineInfo[16] === -1) { + gear = `S${streams.engineInfo[16] - 1}`; // Sport mode + } else { + gear = `A${streams.engineInfo[16] - 1}`; // Other automatic gears + } + } else { + gear = `M${streams.engineInfo[16]}`; // Manual gear + } + } + updateElementText(elements.labels.topBar.gear, ` ${gear}`); // Damage From f7b10962f96622dbff87b7d65cd6766d3af57a78 Mon Sep 17 00:00:00 2001 From: Omega596 Date: Thu, 1 Jun 2023 22:15:25 +1000 Subject: [PATCH 02/12] Updated --- ui/modules/apps/beamadvisor/app.js | 31 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/ui/modules/apps/beamadvisor/app.js b/ui/modules/apps/beamadvisor/app.js index f86d5aa..ddf4901 100644 --- a/ui/modules/apps/beamadvisor/app.js +++ b/ui/modules/apps/beamadvisor/app.js @@ -780,23 +780,20 @@ angular.module('beamng.apps') // Gear let gear; - if (streams.engineInfo[16] === 0) { - gear = 'N'; // Neutral - } else if (streams.engineInfo[16] <= -1) { - gear = `R${Math.abs(streams.engineInfo[16])}`; // Reverse - } else { - if (streams.engineInfo[13].toLowerCase() === 'auto') { - if (streams.engineInfo[16] === 1) { - gear = 'D'; // Drive - } else if (streams.engineInfo[16] === -1) { - gear = `S${streams.engineInfo[16] - 1}`; // Sport mode - } else { - gear = `A${streams.engineInfo[16] - 1}`; // Other automatic gears - } - } else { - gear = `M${streams.engineInfo[16]}`; // Manual gear - } - } +if (streams.engineInfo[16] === 0) { + gear = 'N'; // Neutral +} else if (streams.engineInfo[16] <= -1) { + gear = `R${Math.abs(streams.engineInfo[16])}`; // Reverse +} else { + const transmissionType = streams.engineInfo[13].toLowerCase(); + if (transmissionType === 'manual') { + gear = `M${streams.engineInfo[16]}`; // Manual transmission + } else if (transmissionType === 'auto' || transmissionType === 'dct' || transmissionType === 'cvt') { + gear = `A${streams.engineInfo[16]}`; // Automatic transmission + } else { + gear = streams.engineInfo[16]; // Unknown transmission type, just display gear index + } +} updateElementText(elements.labels.topBar.gear, ` ${gear}`); From 0c05c70dfac96397937ffc37e91b3ad0f143c3b1 Mon Sep 17 00:00:00 2001 From: Omega596 Date: Thu, 1 Jun 2023 23:06:57 +1000 Subject: [PATCH 03/12] Trying to get it going --- .../extensions/thattonybo/DriveModeName.lua | 28 ++++++++++++ ui/modules/apps/beamadvisor/app.js | 45 ++++++++++++++----- 2 files changed, 62 insertions(+), 11 deletions(-) create mode 100644 lua/ge/extensions/thattonybo/DriveModeName.lua diff --git a/lua/ge/extensions/thattonybo/DriveModeName.lua b/lua/ge/extensions/thattonybo/DriveModeName.lua new file mode 100644 index 0000000..7f23d72 --- /dev/null +++ b/lua/ge/extensions/thattonybo/DriveModeName.lua @@ -0,0 +1,28 @@ +local M = {} + +local function updateGFX(dt) + local driveModeName = "" + + if controller.getController("driveModes") then + -- For newer ESC systems + local driveModeKey = controller.getController("driveModes").getCurrentDriveModeKey() + driveModeName = v.data.driveModes.modes[driveModeKey].name + elseif controller.getController("esc") then + -- For older ESC systems + local escConfigData = controller.getController("esc").getCurrentConfigData() + driveModeName = escConfigData.name + end + + if streams.willSend("driveModesInfo") then + local streamData = { + currentDriveMode = { + name = driveModeName + } + } + gui.send("driveModesInfo", streamData) + end +end + +M.updateGFX = updateGFX + +return M \ No newline at end of file diff --git a/ui/modules/apps/beamadvisor/app.js b/ui/modules/apps/beamadvisor/app.js index ddf4901..93d84bc 100644 --- a/ui/modules/apps/beamadvisor/app.js +++ b/ui/modules/apps/beamadvisor/app.js @@ -780,21 +780,44 @@ angular.module('beamng.apps') // Gear let gear; -if (streams.engineInfo[16] === 0) { - gear = 'N'; // Neutral -} else if (streams.engineInfo[16] <= -1) { - gear = `R${Math.abs(streams.engineInfo[16])}`; // Reverse -} else { - const transmissionType = streams.engineInfo[13].toLowerCase(); - if (transmissionType === 'manual') { - gear = `M${streams.engineInfo[16]}`; // Manual transmission - } else if (transmissionType === 'auto' || transmissionType === 'dct' || transmissionType === 'cvt') { - gear = `A${streams.engineInfo[16]}`; // Automatic transmission + +function updateGearInfo(driveModeName, streams) { + if (streams.engineInfo[16] === 0) { + gear = 'N'; // Neutral + } else if (streams.engineInfo[16] <= -1) { + gear = `R${Math.abs(streams.engineInfo[16])}`; // Reverse + } else if (driveModeName === 'Sport') { // Example: if drive mode is "Sport", set gear to "S" for manual transmission + gear = `S${streams.engineInfo[16]}`; } else { - gear = streams.engineInfo[16]; // Unknown transmission type, just display gear index + const transmissionType = streams.engineInfo[13].toLowerCase(); + if (transmissionType === 'manual') { + gear = `M${streams.engineInfo[16]}`; // Manual transmission + } else if (transmissionType === 'auto' || transmissionType === 'dct' || transmissionType === 'cvt') { + gear = `A${streams.engineInfo[16]}`; // Automatic transmission + } else { + gear = streams.engineInfo[16]; // Unknown transmission type, just display gear index + } } + + // Update gear information in the UI + document.getElementById('gearInfo').innerText = gear; } +// Update gear information whenever drive mode changes +function updateDriveMode(driveModeName, streams) { + // Update drive mode in the UI + document.getElementById('driveModeInfo').innerText = driveModeName; + + // Update gear information + updateGearInfo(driveModeName, streams); +} + +let driveModeName = driveModesInfo; +let streams = streamData; + +updateDriveMode(driveModeName, streams); + + updateElementText(elements.labels.topBar.gear, ` ${gear}`); // Damage From 60dd900253c94e55a888433e3cb6cf10e72a7105 Mon Sep 17 00:00:00 2001 From: Omega596 Date: Fri, 2 Jun 2023 12:32:15 +1000 Subject: [PATCH 04/12] Finally, things are fixed? --- ui/modules/apps/beamadvisor/app.js | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/ui/modules/apps/beamadvisor/app.js b/ui/modules/apps/beamadvisor/app.js index 93d84bc..ede9d41 100644 --- a/ui/modules/apps/beamadvisor/app.js +++ b/ui/modules/apps/beamadvisor/app.js @@ -780,28 +780,13 @@ angular.module('beamng.apps') // Gear let gear; - -function updateGearInfo(driveModeName, streams) { - if (streams.engineInfo[16] === 0) { - gear = 'N'; // Neutral - } else if (streams.engineInfo[16] <= -1) { - gear = `R${Math.abs(streams.engineInfo[16])}`; // Reverse - } else if (driveModeName === 'Sport') { // Example: if drive mode is "Sport", set gear to "S" for manual transmission - gear = `S${streams.engineInfo[16]}`; - } else { - const transmissionType = streams.engineInfo[13].toLowerCase(); - if (transmissionType === 'manual') { - gear = `M${streams.engineInfo[16]}`; // Manual transmission - } else if (transmissionType === 'auto' || transmissionType === 'dct' || transmissionType === 'cvt') { - gear = `A${streams.engineInfo[16]}`; // Automatic transmission - } else { - gear = streams.engineInfo[16]; // Unknown transmission type, just display gear index - } - } - - // Update gear information in the UI - document.getElementById('gearInfo').innerText = gear; -} + if (data.electrics.gear == 0) { + gear = 'N'; + } else if (data.electrics.gear < 0) { + gear = `R${Math.abs(streams.engineInfo[16])}`; + } else { + gear = data.electrics.gear; + } // Update gear information whenever drive mode changes function updateDriveMode(driveModeName, streams) { From bbd0b593728125c2ce6adc132f3c3f1faa401edf Mon Sep 17 00:00:00 2001 From: Omega596 Date: Fri, 2 Jun 2023 12:33:17 +1000 Subject: [PATCH 05/12] Removed unwanted lua --- .../extensions/thattonybo/DriveModeName.lua | 28 ------------------- 1 file changed, 28 deletions(-) delete mode 100644 lua/ge/extensions/thattonybo/DriveModeName.lua diff --git a/lua/ge/extensions/thattonybo/DriveModeName.lua b/lua/ge/extensions/thattonybo/DriveModeName.lua deleted file mode 100644 index 7f23d72..0000000 --- a/lua/ge/extensions/thattonybo/DriveModeName.lua +++ /dev/null @@ -1,28 +0,0 @@ -local M = {} - -local function updateGFX(dt) - local driveModeName = "" - - if controller.getController("driveModes") then - -- For newer ESC systems - local driveModeKey = controller.getController("driveModes").getCurrentDriveModeKey() - driveModeName = v.data.driveModes.modes[driveModeKey].name - elseif controller.getController("esc") then - -- For older ESC systems - local escConfigData = controller.getController("esc").getCurrentConfigData() - driveModeName = escConfigData.name - end - - if streams.willSend("driveModesInfo") then - local streamData = { - currentDriveMode = { - name = driveModeName - } - } - gui.send("driveModesInfo", streamData) - end -end - -M.updateGFX = updateGFX - -return M \ No newline at end of file From b5186505dc4783850576b50b972608ce6abca081 Mon Sep 17 00:00:00 2001 From: Omega <87885053+Omega596@users.noreply.github.com> Date: Fri, 2 Jun 2023 12:59:56 +1000 Subject: [PATCH 06/12] Update app.js --- ui/modules/apps/beamadvisor/app.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ui/modules/apps/beamadvisor/app.js b/ui/modules/apps/beamadvisor/app.js index ede9d41..5c3bc11 100644 --- a/ui/modules/apps/beamadvisor/app.js +++ b/ui/modules/apps/beamadvisor/app.js @@ -781,12 +781,12 @@ angular.module('beamng.apps') // Gear let gear; if (data.electrics.gear == 0) { - gear = 'N'; - } else if (data.electrics.gear < 0) { - gear = `R${Math.abs(streams.engineInfo[16])}`; - } else { - gear = data.electrics.gear; - } + gear = 'N'; + } else if (data.electrics.gear < 0) { + gear = `R${Math.abs(streams.engineInfo[16])}`; + } else { + gear = data.electrics.gear; + } // Update gear information whenever drive mode changes function updateDriveMode(driveModeName, streams) { @@ -1507,4 +1507,4 @@ updateDriveMode(driveModeName, streams); }, (2 * 1000)); } }; -}]); \ No newline at end of file +}]); From 154c5fc3f3a51a6f4d7326e3278013eb3c16e5e8 Mon Sep 17 00:00:00 2001 From: Omega596 Date: Fri, 2 Jun 2023 13:04:29 +1000 Subject: [PATCH 07/12] Removed Unwanted Code --- ui/modules/apps/beamadvisor/app.js | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/ui/modules/apps/beamadvisor/app.js b/ui/modules/apps/beamadvisor/app.js index ede9d41..34919bb 100644 --- a/ui/modules/apps/beamadvisor/app.js +++ b/ui/modules/apps/beamadvisor/app.js @@ -360,7 +360,7 @@ angular.module('beamng.apps') const changeVisibility = (newVisibility) => { if (settings.visibility !== newVisibility) settings.visibility = newVisibility; - if (newVisibility === 'normal') { + if (newVisibility === 'visible') { elements.root.classList.remove('gps-only'); elements.root.classList.remove('gone'); } @@ -788,21 +788,6 @@ angular.module('beamng.apps') gear = data.electrics.gear; } -// Update gear information whenever drive mode changes -function updateDriveMode(driveModeName, streams) { - // Update drive mode in the UI - document.getElementById('driveModeInfo').innerText = driveModeName; - - // Update gear information - updateGearInfo(driveModeName, streams); -} - -let driveModeName = driveModesInfo; -let streams = streamData; - -updateDriveMode(driveModeName, streams); - - updateElementText(elements.labels.topBar.gear, ` ${gear}`); // Damage From c70896631d4fc70f10a4557d2d18c5015c085cf1 Mon Sep 17 00:00:00 2001 From: Omega596 Date: Fri, 2 Jun 2023 13:04:59 +1000 Subject: [PATCH 08/12] Tidying things up --- ui/modules/apps/beamadvisor/app.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ui/modules/apps/beamadvisor/app.js b/ui/modules/apps/beamadvisor/app.js index 64b1bfd..e1a325d 100644 --- a/ui/modules/apps/beamadvisor/app.js +++ b/ui/modules/apps/beamadvisor/app.js @@ -781,12 +781,12 @@ angular.module('beamng.apps') // Gear let gear; if (data.electrics.gear == 0) { - gear = 'N'; - } else if (data.electrics.gear < 0) { - gear = `R${Math.abs(streams.engineInfo[16])}`; - } else { - gear = data.electrics.gear; - } + gear = 'N'; + } else if (data.electrics.gear < 0) { + gear = `R${Math.abs(streams.engineInfo[16])}`; + } else { + gear = data.electrics.gear; + } updateElementText(elements.labels.topBar.gear, ` ${gear}`); From d48055114d418f239d9af1e8739e2e77747b95ae Mon Sep 17 00:00:00 2001 From: Omega596 Date: Fri, 2 Jun 2023 13:32:55 +1000 Subject: [PATCH 09/12] Fixed --- ui/modules/apps/beamadvisor/app.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ui/modules/apps/beamadvisor/app.js b/ui/modules/apps/beamadvisor/app.js index e1a325d..405b58b 100644 --- a/ui/modules/apps/beamadvisor/app.js +++ b/ui/modules/apps/beamadvisor/app.js @@ -780,12 +780,12 @@ angular.module('beamng.apps') // Gear let gear; - if (data.electrics.gear == 0) { + if (streams.electrics.gear == 0) { gear = 'N'; - } else if (data.electrics.gear < 0) { + } else if (streams.electrics.gear < 0) { gear = `R${Math.abs(streams.engineInfo[16])}`; } else { - gear = data.electrics.gear; + gear = streams.electrics.gear; } updateElementText(elements.labels.topBar.gear, ` ${gear}`); From 15ac499cd73682a87cc8694f0a8d817c5d997e1d Mon Sep 17 00:00:00 2001 From: Omega <87885053+Omega596@users.noreply.github.com> Date: Fri, 2 Jun 2023 13:39:35 +1000 Subject: [PATCH 10/12] Update app.js --- ui/modules/apps/beamadvisor/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/modules/apps/beamadvisor/app.js b/ui/modules/apps/beamadvisor/app.js index 405b58b..f679437 100644 --- a/ui/modules/apps/beamadvisor/app.js +++ b/ui/modules/apps/beamadvisor/app.js @@ -360,7 +360,7 @@ angular.module('beamng.apps') const changeVisibility = (newVisibility) => { if (settings.visibility !== newVisibility) settings.visibility = newVisibility; - if (newVisibility === 'visible') { + if (newVisibility === 'normal') { // might want to change to visible elements.root.classList.remove('gps-only'); elements.root.classList.remove('gone'); } From a7aa27b763a0650b2e4296d6c18a6bda46e90edc Mon Sep 17 00:00:00 2001 From: Omega596 Date: Fri, 2 Jun 2023 13:52:39 +1000 Subject: [PATCH 11/12] removed because unwanted --- ui/modules/apps/beamadvisor/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/modules/apps/beamadvisor/app.js b/ui/modules/apps/beamadvisor/app.js index 405b58b..530a41a 100644 --- a/ui/modules/apps/beamadvisor/app.js +++ b/ui/modules/apps/beamadvisor/app.js @@ -783,7 +783,7 @@ angular.module('beamng.apps') if (streams.electrics.gear == 0) { gear = 'N'; } else if (streams.electrics.gear < 0) { - gear = `R${Math.abs(streams.engineInfo[16])}`; + gear = 'R'; } else { gear = streams.electrics.gear; } From 1327d1d2fe6b48c40f182bdc5e2944a7e7ec0bf0 Mon Sep 17 00:00:00 2001 From: Omega596 Date: Mon, 26 Jun 2023 20:40:08 +1000 Subject: [PATCH 12/12] change from wheelspeed to airspeed --- .vscode/settings.json | 4 ++++ ui/modules/apps/beamadvisor/app.js | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..5af1e3e --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "editor.tabCompletion": "on", + "diffEditor.codeLens": true +} \ No newline at end of file diff --git a/ui/modules/apps/beamadvisor/app.js b/ui/modules/apps/beamadvisor/app.js index f8c439c..81691f3 100644 --- a/ui/modules/apps/beamadvisor/app.js +++ b/ui/modules/apps/beamadvisor/app.js @@ -706,7 +706,7 @@ angular.module('beamng.apps') // Speed // This is in m/s (meters per second), so m/s to mph is n * 2.237 - const rawSpeedMph = streams.electrics.wheelspeed * 2.237; + const rawSpeedMph = streams.electrics.airspeed * 2.237; const speedMph = Math.round(rawSpeedMph); const speedKph = Math.round(speedMph * 1.609344); updateElementText(elements.labels.topBar.speed, settings.speedUnit === 'mph' ? `${speedMph} mph` : `${speedKph} km/h`);