diff --git a/package-lock.json b/package-lock.json index c710b2d..d380cc5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "f1-22-udp", - "version": "2.0.0", + "version": "2.1.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "f1-22-udp", - "version": "2.0.0", + "version": "2.1.1", "license": "MIT", "dependencies": { "binary-parser": "2.1.0" diff --git a/package.json b/package.json index 37675c3..3565b1e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "f1-22-udp", - "version": "2.1.0", + "version": "2.1.1", "main": "build/src/F1_22_UDP.js", "types": "build/src/F1_22_UDP.d.ts", "files": [ diff --git a/src/F1_22_UDP.ts b/src/F1_22_UDP.ts index 89daf6f..9c19729 100644 --- a/src/F1_22_UDP.ts +++ b/src/F1_22_UDP.ts @@ -15,18 +15,18 @@ import {PacketCarDamageDataParser} from './parsers/CarDamage/parsers'; import {PacketSessionHistoryDataParser} from './parsers/SessionHistory/parsers'; // types -import {PacketMotionData} from 'Motion/types'; -import {PacketSessionData} from 'Session/types'; -import {PacketLapData} from 'LapData/types'; -import {PacketCarDamageData} from 'CarDamage/types'; -import {PacketCarSetupData} from 'CarSetup/types'; -import {PacketCarStatusData} from 'CarStatus/types'; -import {PacketCarTelemetryData} from 'CarTelemetry/types'; -import {PacketEventData} from 'Event/types'; -import {PacketFinalClassificationData} from 'FinalClassification/types'; -import {PacketLobbyInfoData} from 'lobby/types'; -import {PacketParticipantsData} from 'Participants/types'; -import {PacketSessionHistoryData} from 'SessionHistory/types'; +import {PacketMotionData} from './parsers/Motion/types'; +import {PacketSessionData} from './parsers/Session/types'; +import {PacketLapData} from './parsers/LapData/types'; +import {PacketCarDamageData} from './parsers/CarDamage/types'; +import {PacketCarSetupData} from './parsers/CarSetup/types'; +import {PacketCarStatusData} from './parsers/CarStatus/types'; +import {PacketCarTelemetryData} from './parsers/CarTelemetry/types'; +import {PacketEventData} from './parsers/Event/types'; +import {PacketFinalClassificationData} from './parsers/FinalClassification/types'; +import {PacketLobbyInfoData} from './parsers/lobby/types'; +import {PacketParticipantsData} from './parsers/Participants/types'; +import {PacketSessionHistoryData} from './parsers/SessionHistory/types'; export {PacketMotionData, PacketSessionData, PacketLapData, PacketCarDamageData, PacketCarSetupData, PacketCarStatusData, PacketCarTelemetryData, PacketEventData, PacketFinalClassificationData, PacketLobbyInfoData, PacketParticipantsData, PacketSessionHistoryData}; diff --git a/src/parsers/CarDamage/types/index.d.ts b/src/parsers/CarDamage/types/index.d.ts deleted file mode 100644 index bdb4861..0000000 --- a/src/parsers/CarDamage/types/index.d.ts +++ /dev/null @@ -1,63 +0,0 @@ -import {PacketHeader} from '../../PacketHeader/types'; - -/* -struct CarDamageData -{ - float m_tyresWear[4]; // Tyre wear (percentage) - uint8 m_tyresDamage[4]; // Tyre damage (percentage) - uint8 m_brakesDamage[4]; // Brakes damage (percentage) - uint8 m_frontLeftWingDamage; // Front left wing damage (percentage) - uint8 m_frontRightWingDamage; // Front right wing damage (percentage) - uint8 m_rearWingDamage; // Rear wing damage (percentage) - uint8 m_floorDamage; // Floor damage (percentage) - uint8 m_diffuserDamage; // Diffuser damage (percentage) - uint8 m_sidepodDamage; // Sidepod damage (percentage) - uint8 m_drsFault; // Indicator for DRS fault, 0 = OK, 1 = fault - + uint8 m_ersFault; // Indicator for ERS fault, 0 = OK, 1 = fault - uint8 m_gearBoxDamage; // Gear box damage (percentage) - uint8 m_engineDamage; // Engine damage (percentage) - uint8 m_engineMGUHWear; // Engine wear MGU-H (percentage) - uint8 m_engineESWear; // Engine wear ES (percentage) - uint8 m_engineCEWear; // Engine wear CE (percentage) - uint8 m_engineICEWear; // Engine wear ICE (percentage) - uint8 m_engineMGUKWear; // Engine wear MGU-K (percentage) - uint8 m_engineTCWear; // Engine wear TC (percentage) - + uint8 m_engineBlown; // Engine blown, 0 = OK, 1 = fault - + uint8 m_engineSeized; // Engine seized, 0 = OK, 1 = fault -} -*/ -export interface CarDamageData { - m_tyresWear: number[]; - m_tyresDamage: number[]; - m_brakesDamage: number[]; - m_frontLeftWingDamage: number; - m_frontRightWingDamage: number; - m_rearWingDamage: number; - m_floorDamage: number; - m_diffuserDamage: number; - m_sidepodDamage: number; - m_drsFault: number; - m_ersFault: number; - m_gearBoxDamage: number; - m_engineDamage: number; - m_engineMGUHWear: number; - m_engineESWear: number; - m_engineCEWear: number; - m_engineICEWear: number; - m_engineMGUKWear: number; - m_engineTCWear: number; - m_engineBlown: number; - m_engineSeized: number; -} - -/* -struct PacketCarDamageData -{ - PacketHeader m_header; // Header - CarDamageData m_carDamageData[22]; -}; -*/ -export interface PacketCarDamageData { - m_header: PacketHeader; - m_carDamageData: CarDamageData[]; -} diff --git a/src/parsers/CarDamage/types/index.ts b/src/parsers/CarDamage/types/index.ts new file mode 100644 index 0000000..061da2a --- /dev/null +++ b/src/parsers/CarDamage/types/index.ts @@ -0,0 +1,30 @@ +import {PacketHeader} from '../../PacketHeader/types'; + +export interface CarDamageData { + m_tyresWear: number[]; + m_tyresDamage: number[]; + m_brakesDamage: number[]; + m_frontLeftWingDamage: number; + m_frontRightWingDamage: number; + m_rearWingDamage: number; + m_floorDamage: number; + m_diffuserDamage: number; + m_sidepodDamage: number; + m_drsFault: number; + m_ersFault: number; + m_gearBoxDamage: number; + m_engineDamage: number; + m_engineMGUHWear: number; + m_engineESWear: number; + m_engineCEWear: number; + m_engineICEWear: number; + m_engineMGUKWear: number; + m_engineTCWear: number; + m_engineBlown: number; + m_engineSeized: number; +} + +export interface PacketCarDamageData { + m_header: PacketHeader; + m_carDamageData: CarDamageData[]; +} diff --git a/src/parsers/CarSetup/types/index.d.ts b/src/parsers/CarSetup/types/index.ts similarity index 91% rename from src/parsers/CarSetup/types/index.d.ts rename to src/parsers/CarSetup/types/index.ts index c6f5711..9187394 100644 --- a/src/parsers/CarSetup/types/index.d.ts +++ b/src/parsers/CarSetup/types/index.ts @@ -1,4 +1,4 @@ -import {PacketHeader} from '@Type/PacketHeader'; +import {PacketHeader} from '../../PacketHeader/types'; interface CarSetupData { /*uint8*/ m_frontWing: number; @@ -25,7 +25,7 @@ interface CarSetupData { /*float*/ m_fuelLoad: number; } -interface PacketCarSetupData { +export interface PacketCarSetupData { /*PacketHeader*/ m_header: PacketHeader; /*CarSetupData*/ m_carSetups: CarSetupData[]; } diff --git a/src/parsers/CarStatus/types/index.d.ts b/src/parsers/CarStatus/types/index.ts similarity index 94% rename from src/parsers/CarStatus/types/index.d.ts rename to src/parsers/CarStatus/types/index.ts index 28bc887..320cd20 100644 --- a/src/parsers/CarStatus/types/index.d.ts +++ b/src/parsers/CarStatus/types/index.ts @@ -1,4 +1,4 @@ -import {PacketHeader} from '@Type/PacketHeader'; +import {PacketHeader} from '../../PacketHeader/types'; export interface CarStatusData { /*uint8*/ m_tractionControl: number; diff --git a/src/parsers/CarTelemetry/types/index.d.ts b/src/parsers/CarTelemetry/types/index.ts similarity index 94% rename from src/parsers/CarTelemetry/types/index.d.ts rename to src/parsers/CarTelemetry/types/index.ts index 5fb7971..a9236da 100644 --- a/src/parsers/CarTelemetry/types/index.d.ts +++ b/src/parsers/CarTelemetry/types/index.ts @@ -1,4 +1,4 @@ -import {PacketHeader} from '@Type/PacketHeader'; +import {PacketHeader} from '../../PacketHeader/types'; export interface CarTelemetryData { /*uint16*/ m_speed: number; diff --git a/src/parsers/Event/types/index.d.ts b/src/parsers/Event/types/index.ts similarity index 100% rename from src/parsers/Event/types/index.d.ts rename to src/parsers/Event/types/index.ts diff --git a/src/parsers/FinalClassification/types/index.d.ts b/src/parsers/FinalClassification/types/index.ts similarity index 87% rename from src/parsers/FinalClassification/types/index.d.ts rename to src/parsers/FinalClassification/types/index.ts index 7047cfe..5d5e6f3 100644 --- a/src/parsers/FinalClassification/types/index.d.ts +++ b/src/parsers/FinalClassification/types/index.ts @@ -1,4 +1,4 @@ -import {PacketHeader} from '@Type/PacketHeader'; +import {PacketHeader} from '../../PacketHeader/types'; interface FinalClassificationData { /*uint8*/ m_position: number; @@ -17,7 +17,7 @@ interface FinalClassificationData { /*uint8[8]*/ m_tyreStintsEndLaps: number[]; } -interface PacketFinalClassificationData { +export interface PacketFinalClassificationData { /*PacketHeader*/ m_header: PacketHeader; /*uint8*/ m_numCars: number; /*FinalClassificationData[22]*/ m_classificationData: FinalClassificationData[]; diff --git a/src/parsers/LapData/types/index.d.ts b/src/parsers/LapData/types/index.ts similarity index 100% rename from src/parsers/LapData/types/index.d.ts rename to src/parsers/LapData/types/index.ts diff --git a/src/parsers/Motion/types/index.d.ts b/src/parsers/Motion/types/index.ts similarity index 100% rename from src/parsers/Motion/types/index.d.ts rename to src/parsers/Motion/types/index.ts diff --git a/src/parsers/PacketHeader/types/index.d.ts b/src/parsers/PacketHeader/types/index.ts similarity index 100% rename from src/parsers/PacketHeader/types/index.d.ts rename to src/parsers/PacketHeader/types/index.ts diff --git a/src/parsers/Participants/types/index.d.ts b/src/parsers/Participants/types/index.ts similarity index 90% rename from src/parsers/Participants/types/index.d.ts rename to src/parsers/Participants/types/index.ts index b77330e..363040b 100644 --- a/src/parsers/Participants/types/index.d.ts +++ b/src/parsers/Participants/types/index.ts @@ -1,4 +1,4 @@ -import {PacketHeader} from '@Type/PacketHeader'; +import {PacketHeader} from '../../PacketHeader/types'; interface ParticipantData { /*uint8*/ m_aiControlled: number; diff --git a/src/parsers/Session/types/index.d.ts b/src/parsers/Session/types/index.ts similarity index 100% rename from src/parsers/Session/types/index.d.ts rename to src/parsers/Session/types/index.ts diff --git a/src/parsers/SessionHistory/types/index.d.ts b/src/parsers/SessionHistory/types/index.ts similarity index 100% rename from src/parsers/SessionHistory/types/index.d.ts rename to src/parsers/SessionHistory/types/index.ts diff --git a/src/parsers/f1.parser.ts b/src/parsers/f1.parser.ts index 2e80184..7e85e9b 100644 --- a/src/parsers/f1.parser.ts +++ b/src/parsers/f1.parser.ts @@ -1,7 +1,21 @@ import {Parser} from 'binary-parser'; +import {PacketMotionData} from 'Motion/types'; +import {PacketSessionData} from 'Session/types'; +import {PacketLapData} from 'LapData/types'; +import {PacketCarDamageData} from 'CarDamage/types'; +import {PacketCarSetupData} from 'CarSetup/types'; +import {PacketCarStatusData} from 'CarStatus/types'; +import {PacketCarTelemetryData} from 'CarTelemetry/types'; +import {PacketEventData} from 'Event/types'; +import {PacketFinalClassificationData} from 'FinalClassification/types'; +import {PacketLobbyInfoData} from 'lobby/types'; +import {PacketParticipantsData} from 'Participants/types'; +import {PacketSessionHistoryData} from 'SessionHistory/types'; export class F1Parser extends Parser { - fromBuffer(buffer: Buffer) { + fromBuffer( + buffer: Buffer + ): PacketMotionData | PacketSessionData | PacketLapData | PacketCarDamageData | PacketCarSetupData | PacketCarStatusData | PacketCarTelemetryData | PacketEventData | PacketFinalClassificationData | PacketLobbyInfoData | PacketParticipantsData | PacketSessionHistoryData { return this.parse(buffer); } } diff --git a/src/parsers/lobby/types/index.d.ts b/src/parsers/lobby/types/index.ts similarity index 100% rename from src/parsers/lobby/types/index.d.ts rename to src/parsers/lobby/types/index.ts