2019-06-12 20:35:26 -04:00
|
|
|
#pragma once
|
|
|
|
|
2020-03-24 14:50:08 -04:00
|
|
|
#include "PedType.h"
|
|
|
|
|
2019-06-12 20:35:26 -04:00
|
|
|
class CStats
|
|
|
|
{
|
|
|
|
public:
|
2020-02-16 15:08:54 -05:00
|
|
|
enum {
|
|
|
|
TOTAL_FASTEST_TIMES = 16,
|
|
|
|
TOTAL_HIGHEST_SCORES = 16
|
|
|
|
};
|
2020-04-17 01:54:14 -04:00
|
|
|
static int32 DaysPassed;
|
2020-05-22 08:34:44 -04:00
|
|
|
static int32 HeadsPopped;
|
2020-04-17 01:54:14 -04:00
|
|
|
static int32 CommercialPassed;
|
|
|
|
static int32 IndustrialPassed;
|
|
|
|
static int32 SuburbanPassed;
|
|
|
|
static int32 NumberKillFrenziesPassed;
|
|
|
|
static int32 PeopleKilledByOthers;
|
|
|
|
static int32 HelisDestroyed;
|
|
|
|
static int32 PedsKilledOfThisType[ePedType::NUM_PEDTYPES];
|
|
|
|
static int32 TimesDied;
|
|
|
|
static int32 TimesArrested;
|
|
|
|
static int32 KillsSinceLastCheckpoint;
|
2020-07-02 18:04:49 -04:00
|
|
|
static float DistanceTravelledInVehicle;
|
|
|
|
static float DistanceTravelledOnFoot;
|
2020-04-17 01:54:14 -04:00
|
|
|
static int32 CarsExploded;
|
|
|
|
static int32 PeopleKilledByPlayer;
|
|
|
|
static int32 ProgressMade;
|
|
|
|
static int32 TotalProgressInGame;
|
|
|
|
static float MaximumJumpDistance;
|
|
|
|
static float MaximumJumpHeight;
|
|
|
|
static int32 MaximumJumpFlips;
|
|
|
|
static int32 MaximumJumpSpins;
|
|
|
|
static int32 BestStuntJump;
|
|
|
|
static int32 NumberOfUniqueJumpsFound;
|
|
|
|
static int32 TotalNumberOfUniqueJumps;
|
|
|
|
static int32 PassengersDroppedOffWithTaxi;
|
|
|
|
static int32 MoneyMadeWithTaxi;
|
|
|
|
static int32 MissionsGiven;
|
|
|
|
static int32 MissionsPassed;
|
|
|
|
static char LastMissionPassedName[8];
|
|
|
|
static int32 TotalLegitimateKills;
|
|
|
|
static int32 ElBurroTime;
|
|
|
|
static int32 Record4x4One;
|
|
|
|
static int32 Record4x4Two;
|
|
|
|
static int32 Record4x4Three;
|
|
|
|
static int32 Record4x4Mayhem;
|
|
|
|
static int32 LivesSavedWithAmbulance;
|
|
|
|
static int32 CriminalsCaught;
|
|
|
|
static int32 HighestLevelAmbulanceMission;
|
|
|
|
static int32 FiresExtinguished;
|
|
|
|
static int32 LongestFlightInDodo;
|
|
|
|
static int32 TimeTakenDefuseMission;
|
|
|
|
static int32 TotalNumberKillFrenzies;
|
2020-05-22 08:34:44 -04:00
|
|
|
static int32 TotalNumberMissions;
|
|
|
|
static int32 RoundsFiredByPlayer;
|
|
|
|
static int32 KgsOfExplosivesUsed;
|
|
|
|
static int32 InstantHitsFiredByPlayer;
|
|
|
|
static int32 InstantHitsHitByPlayer;
|
|
|
|
static int32 BestTimeBombDefusal;
|
|
|
|
static int32 mmRain;
|
|
|
|
static int32 CarsCrushed;
|
2020-04-17 01:54:14 -04:00
|
|
|
static int32 FastestTimes[TOTAL_FASTEST_TIMES];
|
|
|
|
static int32 HighestScores[TOTAL_HIGHEST_SCORES];
|
2019-07-04 16:31:21 -04:00
|
|
|
|
2019-07-07 03:13:04 -04:00
|
|
|
public:
|
2020-04-09 06:14:37 -04:00
|
|
|
static void Init(void);
|
2020-02-16 15:08:54 -05:00
|
|
|
static void RegisterFastestTime(int32, int32);
|
|
|
|
static void RegisterHighestScore(int32, int32);
|
2020-04-09 06:14:37 -04:00
|
|
|
static void RegisterElBurroTime(int32);
|
2020-02-16 15:08:54 -05:00
|
|
|
static void Register4x4OneTime(int32);
|
|
|
|
static void Register4x4TwoTime(int32);
|
|
|
|
static void Register4x4ThreeTime(int32);
|
|
|
|
static void Register4x4MayhemTime(int32);
|
2020-04-09 06:14:37 -04:00
|
|
|
static void AnotherLifeSavedWithAmbulance();
|
|
|
|
static void AnotherCriminalCaught();
|
|
|
|
static void RegisterLevelAmbulanceMission(int32);
|
|
|
|
static void AnotherFireExtinguished();
|
|
|
|
static wchar *FindCriminalRatingString();
|
2020-02-16 15:08:54 -05:00
|
|
|
static void RegisterLongestFlightInDodo(int32);
|
|
|
|
static void RegisterTimeTakenDefuseMission(int32);
|
2020-04-09 06:14:37 -04:00
|
|
|
static void AnotherKillFrenzyPassed();
|
2020-02-16 15:08:54 -05:00
|
|
|
static void SetTotalNumberKillFrenzies(int32);
|
|
|
|
static void SetTotalNumberMissions(int32);
|
2019-12-31 18:35:54 -05:00
|
|
|
static void CheckPointReachedSuccessfully() { TotalLegitimateKills += KillsSinceLastCheckpoint; KillsSinceLastCheckpoint = 0; };
|
2020-04-09 06:14:37 -04:00
|
|
|
static void CheckPointReachedUnsuccessfully() { KillsSinceLastCheckpoint = 0; };
|
|
|
|
static int32 FindCriminalRatingNumber();
|
2020-03-11 03:12:40 -04:00
|
|
|
static void SaveStats(uint8 *buf, uint32 *size);
|
2020-04-09 06:14:37 -04:00
|
|
|
static void LoadStats(uint8 *buf, uint32 size);
|
2020-03-11 17:15:27 -04:00
|
|
|
};
|