@krp-races/krp-sharedmemory-client
Version:
A node.js wrapper for shared memory plugin in kart racing pro.
136 lines (135 loc) • 4.32 kB
TypeScript
import { EChallengeSessionType } from '../enums/ChallengeSessionType';
import { EDriveType } from '../enums/DriveType';
import { EEngineCooling } from '../enums/EngineCooling';
import { EEventType } from '../enums/EventType';
import { EGameState } from '../enums/GameState';
import { EPracticeSessionState } from '../enums/PracticeSessionState';
import { ERaceSessionState } from '../enums/RaceSessionState';
import { ERaceSessionType } from '../enums/RaceSessionType';
import { EWeatherCondition } from '../enums/WeatherCondition';
import { IClassification } from './Classification';
import { ICommunication } from './Communication';
import { IEventEntry } from './EventEntry';
import { ISpectateVehicle } from './SpectateVehicle';
import { ITrackPosition } from './TrackPosition';
import { ITrackSegment } from './TrackSegment';
import { IVehicleData } from './VehicleData';
export interface ISharedMemory {
sequenceNumber: number;
version: number;
gameState: EGameState;
driverName: string;
kartId: string;
kartName: string;
driveType: EDriveType;
numberOfGears: number;
maxRpm: number;
limiter: number;
shiftRpm: number;
engineCooling: EEngineCooling;
engineOptTemperture: number;
engineTemperatureAlarm: number[];
maxFuel: number;
category: string;
dash: string;
setupFileName: string;
time: number;
trackPos: number;
rpm: number;
cylinderHeadTemperature: number;
waterTemperature: number;
gear: number;
fuel: number;
speedometer: number;
posX: number;
posY: number;
posZ: number;
velocityX: number;
velocityY: number;
velocityZ: number;
accelerationX: number;
accelerationY: number;
accelerationZ: number;
rot: number[][];
yaw: number;
pitch: number;
roll: number;
yawVelocity: number;
pitchVelocity: number;
rollVelocity: number;
inputSteer: number;
inputThrottle: number;
inputBrake: number;
inputFrontBrake: number;
inputClutch: number;
wheelSpeed: number[];
wheelMaterial: number[];
steerTorque: number;
lap: number;
lastLapTime: number;
lastLapValid: boolean;
bestLapTime: number;
estimatedLapTimeToLastLap: number;
estimatedLapTimeToBestLap: number;
lastLapDeltaToLastLap: number;
lastLapDeltaToBestLap: number;
lapDeltaToLastLap: number;
lapDeltaToBestLap: number;
lastSplitIndex: number;
lastSplits: number[];
bestSplits: number[];
trackId: string;
trackName: string;
trackLength: number;
racedata: number[];
numTrackSegments: number;
trackSegments: ITrackSegment[];
eventType: EEventType;
eventName: string;
numEventEntries: number;
eventEntries: IEventEntry[];
session: 0 | ERaceSessionType | EChallengeSessionType;
sessionSeries: number;
sessionGroups: number[];
sessionState: 0 | EPracticeSessionState | ERaceSessionState;
sessionLength: number;
sessionLaps: number;
numSessionEntries: number;
sessionEntries: number[];
sessionGrid: number[];
weatherCondition: EWeatherCondition;
airTemperature: number;
trackTemperature: number;
bestEventLapTime: number;
bestSessionLapTime: number;
kartIdxLap: number[];
kartIdxLastLapTime: number[];
kartIdxLastLapValid: boolean[];
kartIdxBestLapTime: number[];
kartIdxEstimatedLapTimeToLastLap: number[];
kartIdxEstimatedLapTimeToBestLap: number[];
kartIdxLastLapDeltaToLastLap: number[];
kartIdxLastLapDeltaToBestLap: number[];
kartIdxLapDeltaToLastLap: number[];
kartIdxLapDeltaToBestLap: number[];
kartIdxLapTimes: number[][];
kartIdxLastSplitIndex: number[];
kartIdxLastSplits: number[][];
kartIdxBestSplits: number[][];
kartIdxLastSpeed: number[];
kartIdxBestSpeed: number[];
numCommunications: number;
communications: ICommunication[];
numTrackPositions: number;
trackPositions: ITrackPosition[];
kartIdxVehicleData: IVehicleData[];
classification: IClassification;
requestedSpectateVehicle: number;
selectedSpectateVehicle: number;
numSpectateVehicles: number;
spectateVehicles: ISpectateVehicle[];
requestedCamera: number;
selectedCamera: number;
numCameras: number;
cameras: string[];
}