From af88628d159f3aba8cb93f6dc8429d580bbd17bb Mon Sep 17 00:00:00 2001 From: Spythere Date: Fri, 24 Jan 2025 23:01:07 +0100 Subject: [PATCH] chore: route speed & track corrections, hot fixes --- src/App.vue | 111 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 80 insertions(+), 31 deletions(-) diff --git a/src/App.vue b/src/App.vue index f4a99ca..2dea59f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -58,8 +58,6 @@ - - @@ -77,7 +75,6 @@ ? row.arrivalSpeed : ' ' }} - -
{{ @@ -87,47 +84,22 @@ ? row.arrivalSpeed : ' ' }} -
{{ row.departureSpeed != row.arrivalSpeed || row.departureTracks != row.arrivalTracks ? row.departureSpeed : ' ' }} - {{ row.departureSpeed != row.arrivalSpeed || row.departureTracks != row.arrivalTracks ? row.departureSpeed : ' ' }} -
@@ -218,6 +190,56 @@ import { useGlobalStore } from './stores/global.store'; // sbl4: [], // }; +const routeCorrections: Record; departureTracks: Record }> = { + Wielichowo: { + departureSpeed: { + 'WW-Br': 120, + 'WG-WG(gt)': 100, + 'WG(gt)-Żak': 120 + }, + departureTracks: {}, + }, + 'LCS Żywiec': { + departureSpeed: { + 'CI-WG': 60, + 'CD-CI': 70, + 'RW-CD': 110, + 'BLp-BBL': 120, + 'WB-ŁG': 70, + 'Ło-PŻ': 60, + 'Że-RW': 120, + }, + departureTracks: { + 'BLp-BBL': 2, + 'WB-ŁG': 1, + 'Że-RW': 1, + }, + }, + 'LCS Kleszczów': { + departureSpeed: { + it1587_1606: 160, + it1551_1568: 160, + }, + departureTracks: {}, + }, + 'LCS Perzów': { + departureSpeed: { + 'Pz-Ow': 120, + }, + departureTracks: { + 'Pz-Ow': 2, + }, + }, + 'LCS Sandomierz': { + departureSpeed: { + 'Sn-ZG': 90, + }, + departureTracks: { + 'Sn-ZG': 1, + }, + } +}; + interface StopRow { pointName: string; pointKm: string; @@ -280,6 +302,7 @@ export default defineComponent({ return { sceneryName, + speedCorrections: routeCorrections[sceneryName] ?? null, arrivalLine: arrivalLine ?? '', arrivalLineData, departureLine: departureLine ?? '', @@ -301,6 +324,8 @@ export default defineComponent({ let departureSpeed = currentPath.departureLineData?.routeSpeed ?? 0, departureTracks = currentPath.departureLineData?.routeTracks ?? 2; + console.log('=========== ' + this.selectedTrain.trainNo + ' ==========='); + for (const stop of timetable.stopList) { if (stop.arrivalLine && stop.arrivalLine == currentPath.arrivalLine) { arrivalKm = stop.stopDistance; @@ -312,6 +337,23 @@ export default defineComponent({ } if (/^|, (podg|po)$|^(!_, pe)$/.test(stop.stopName)) { + let correctedDepartureSpeed = 0, + correctedDepartureTracks = 0; + + if (stop.departureLine && currentPath.speedCorrections?.departureSpeed !== undefined) { + if (currentPath.speedCorrections?.departureSpeed[stop.departureLine] !== undefined) { + correctedDepartureSpeed = currentPath.speedCorrections?.departureSpeed[stop.departureLine]; + departureSpeed = correctedDepartureSpeed; + } + } + + if (stop.departureLine && currentPath.speedCorrections?.departureTracks !== undefined) { + if (currentPath.speedCorrections?.departureTracks[stop.departureLine] !== undefined) { + correctedDepartureTracks = currentPath.speedCorrections?.departureTracks[stop.departureLine]; + departureTracks = correctedDepartureTracks; + } + } + let rowData: StopRow = { isMain: /^/.test(stop.stopName), pointKm: stop.stopDistance.toFixed(3), @@ -336,7 +378,12 @@ export default defineComponent({ departureTracks: departureTracks, }; + console.log(stop.stopNameRAW, stop.departureLine); + arrivalKm = stop.stopDistance; + arrivalSpeed = correctedDepartureSpeed || arrivalSpeed; + arrivalTracks = correctedDepartureTracks || arrivalTracks; + if (stop.departureTimestamp) lastDepartureTimestamp = stop.departureTimestamp; stopRows.push(rowData); @@ -346,6 +393,7 @@ export default defineComponent({ // Reverse search for last scenery checkpoint for (let i = stopRows.length - 1; i > 0; i--) { stopRows[i].departureTracks = currentPath.departureLineData?.routeTracks ?? 0; + stopRows[i].departureSpeed = currentPath.departureLineData?.routeSpeed ?? 0; if (stopRows[i].isMain || stopRows[i].pointName.endsWith(', podg')) { stopRows[i].departureSpeed = currentPath.departureLineData?.routeSpeed ?? 0; @@ -353,6 +401,7 @@ export default defineComponent({ break; } + stopRows[i].arrivalSpeed = currentPath.departureLineData?.routeSpeed ?? 0; stopRows[i].arrivalTracks = currentPath.departureLineData?.routeTracks ?? 0; }