Native classes

This section describes the native member layout of each class that’s part of the Simulation state. New classes will be added in the future.

CTrackManiaPlayerInfo

This class contains useful information about the player state in the current race such as checkpoint states, race time, stunts score, lap state, display speed and more.

struct CTrackManiaPlayerInfo
{
    void* vtable;
    UInt32 refCount;
    char __unknown0[8];
    CFastStringInt Name;	// (20)
    CFastStringInt Description; // (28)
    UInt32 PlayerUIdForParam;	// (36)
    CFastString Login;	// (40)
    CGameAvatar* Avatar; //  (48)
    CFastString Language;	// (52)
    CFastArray<int> __unknown9; //  (60)
    int __unknown10;    //  (68)
    CFastString HumanGameVersion;   //  (72)
    char __unknown3[8];
    int OnlineRights;	// (88)
    char __unknown4[20];
    Bool WishSpectator;	// (112)
    Bool ForcedSpectator;	// (116)
    void* __unknown5;
    UInt32 NbSpectators;	// (124)
    int SpectatorMode;	// (128)
    char __unknown6[16];
    Bool CustomDataDeactivated;	// (148)
    char __unknown7[124]; (152)
    Bool Live_IsRegisteredToMasterServer;	// (276)
    UInt32 Live_UpdatingCount;	// (280)
    UInt32 Live_UpdateLastTime;	// (284)
    UInt32 LiveUpdate_Counter;	// (288)
    UInt32 State;	// (292)
    UInt32 DownloadRate;	// (296)
    UInt32 UploadRate;	// (300)
    char __unknown8[24];
    int PlayerType;	// (328)
    UInt32 LatestNetUpdate;	// (332)
    char __unknown0[164];
    CFastStringInt Path;	// (500)
    char __unknown1[60];
    CTrackManiaPlayer* Player; //  (568)
    char __unknown2[4];
    UInt32 Team;	// (576)
    GmIso4 VehicleStartLoc; //  (580)
    GmIso4 VehicleSpawnLoc; //  (628)
    int __unknown2;
    int PrevRaceTime;	// (680)
    int RaceStartTime;	// (684)
    int RaceTime;	// (688)
    int RaceBestTime;	// (692)
    int LapStartTime;	// (696)
    int LapTime;	// (700)
    int LapBestTime;	// (704)
    UInt32 NbRespawns; //  (708)
    UInt32 MinRespawns;	// (712)
    UInt32 NbCompleted;	// (716)
    UInt32 MaxCompleted;	// (720)
    UInt32 StuntsScore;	// (724)
    UInt32 __unknown15; //  (728)
    UInt32 __unknown16; //  (732)
    UInt32 BestStuntsScore;	// (736)
    UInt32 CurCheckpoint;	// (740)
    char __unknown5[4];
    float AverageRank;	// (748)
    UInt32 CurrentRaceRank;	// (752)
    UInt32 CurrentRoundRank;	// (756)
    CFastBuffer<TMCheckpointTime> CheckpointTimes; //  (760)
    char __unknown6[4];
    UInt32 CurrentTime;	// (776)
    char __unknown7[8];
    int RaceState;	// (788)
    Bool ReadyToGoNext;	// (792)
    UInt32 TMRoundNum;	// (796)
    float OffsetFromBestAtCurrentCP;	// (800)
    CFastBuffer<Bool> CheckpointStates; //  (804)
    UInt32 CurLapCheckpointCount; //  (816)
    UInt32 CurCheckpointCount; //  (820)
    UInt32 CurLap;	// (824)
    Bool RaceFinished; //  (828)
    UInt32 DisplaySpeed; //  (832)
    Bool FinishNotPassed; //  (836)
    char __unknown10[8];
    CInputEventsStore EventsStore; //  (848)
    CFastBuffer<SInputEvent*> ControlNames; //  (880)
    CFastBuffer<float> __unknown13; //  (892)
    CFastBuffer<TMEvent> EventCounters; //  (904)
    char __unknown14[20];
    CFastStringInt MapName; //  (936)
    char __unknown17[8];
};