2019-06-13 02:35:26 +02:00
|
|
|
#pragma once
|
|
|
|
|
2020-03-24 19:50:08 +01:00
|
|
|
#include "PedType.h"
|
2020-08-13 22:39:55 +02:00
|
|
|
#include "audio_enums.h"
|
2020-03-24 19:50:08 +01:00
|
|
|
|
2019-06-13 02:35:26 +02:00
|
|
|
class CStats
|
|
|
|
{
|
|
|
|
public:
|
2020-02-16 21:08:54 +01:00
|
|
|
enum {
|
2020-06-07 14:23:52 +02:00
|
|
|
TOTAL_FASTEST_TIMES = 23,
|
|
|
|
TOTAL_HIGHEST_SCORES = 5,
|
2020-08-13 22:39:55 +02:00
|
|
|
TOTAL_BEST_POSITIONS = 1,
|
|
|
|
TOTAL_PROPERTIES = 15
|
2020-02-16 21:08:54 +01:00
|
|
|
};
|
2020-05-27 01:16:31 +02:00
|
|
|
static int32 SeagullsKilled;
|
2020-04-17 07:54:14 +02:00
|
|
|
static int32 DaysPassed;
|
2020-05-22 14:27:16 +02:00
|
|
|
static int32 HeadsPopped;
|
2020-04-17 07:54:14 +02: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-08-13 22:39:55 +02:00
|
|
|
static float DistanceTravelledByCar;
|
|
|
|
static float DistanceTravelledByHelicoptor;
|
|
|
|
static float DistanceTravelledByBike;
|
|
|
|
static float DistanceTravelledByBoat;
|
|
|
|
static float DistanceTravelledByPlane;
|
|
|
|
static float DistanceTravelledByGolfCart;
|
2020-07-03 00:04:49 +02:00
|
|
|
static float DistanceTravelledOnFoot;
|
2020-08-13 22:39:55 +02:00
|
|
|
static int32 FlightTime;
|
|
|
|
static int32 TimesDrowned;
|
|
|
|
static int32 PhotosTaken;
|
|
|
|
static float LoanSharks;
|
|
|
|
static float StoresKnockedOff;
|
|
|
|
static float MovieStunts;
|
|
|
|
static float Assassinations;
|
|
|
|
static float PizzasDelivered;
|
|
|
|
static float GarbagePickups;
|
|
|
|
static float IceCreamSold;
|
|
|
|
static float TopShootingRangeScore;
|
|
|
|
static float ShootingRank;
|
2020-04-17 07:54:14 +02:00
|
|
|
static int32 CarsExploded;
|
2020-08-13 22:39:55 +02:00
|
|
|
static int32 BoatsExploded;
|
|
|
|
static int32 WantedStarsAttained;
|
|
|
|
static int32 WantedStarsEvaded;
|
2020-04-17 07:54:14 +02:00
|
|
|
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 LivesSavedWithAmbulance;
|
|
|
|
static int32 CriminalsCaught;
|
|
|
|
static int32 HighestLevelAmbulanceMission;
|
2020-08-13 22:39:55 +02:00
|
|
|
static int32 HighestLevelVigilanteMission;
|
|
|
|
static int32 HighestLevelFireMission;
|
2020-04-17 07:54:14 +02:00
|
|
|
static int32 FiresExtinguished;
|
|
|
|
static int32 TotalNumberKillFrenzies;
|
2020-05-22 14:27:16 +02:00
|
|
|
static int32 TotalNumberMissions;
|
|
|
|
static int32 RoundsFiredByPlayer;
|
|
|
|
static int32 KgsOfExplosivesUsed;
|
2020-08-13 22:39:55 +02:00
|
|
|
static int32 BulletsThatHit;
|
2020-05-22 14:27:16 +02:00
|
|
|
static int32 BestTimeBombDefusal;
|
2020-04-17 07:54:14 +02:00
|
|
|
static int32 FastestTimes[TOTAL_FASTEST_TIMES];
|
|
|
|
static int32 HighestScores[TOTAL_HIGHEST_SCORES];
|
2020-06-07 14:23:52 +02:00
|
|
|
static int32 BestPositions[TOTAL_BEST_POSITIONS];
|
2020-08-13 22:39:55 +02:00
|
|
|
static bool PropertyOwned[TOTAL_PROPERTIES];
|
|
|
|
static int32 NumPropertyOwned;
|
2020-05-22 14:27:16 +02:00
|
|
|
static int32 PropertyDestroyed;
|
2020-08-13 22:39:55 +02:00
|
|
|
static float HighestChaseValue;
|
|
|
|
static int32 CheatedCount;
|
|
|
|
static int32 ShowChaseStatOnScreen;
|
2020-08-09 16:49:15 +02:00
|
|
|
static int32 PamphletMissionPassed;
|
2020-08-13 22:39:55 +02:00
|
|
|
static bool abSonyCDs[1];
|
|
|
|
static int32 BloodRingKills;
|
|
|
|
static int32 BloodRingTime;
|
|
|
|
static float FavoriteRadioStationList[NUM_RADIOS];
|
2020-05-11 20:04:35 +02:00
|
|
|
static int32 Sprayings;
|
|
|
|
static float AutoPaintingBudget;
|
2020-05-16 12:31:23 +02:00
|
|
|
static int32 NoMoreHurricanes;
|
2020-05-16 22:06:33 +02:00
|
|
|
static float FashionBudget;
|
2020-08-13 22:39:55 +02:00
|
|
|
static float PropertyBudget;
|
|
|
|
static float WeaponBudget;
|
2020-05-20 22:47:44 +02:00
|
|
|
static int32 SafeHouseVisits;
|
2020-05-27 22:32:33 +02:00
|
|
|
static int32 TyresPopped;
|
2019-07-04 22:31:21 +02:00
|
|
|
|
2020-08-13 22:39:55 +02:00
|
|
|
static int32 LongestWheelie;
|
|
|
|
static int32 LongestStoppie;
|
|
|
|
static int32 Longest2Wheel;
|
|
|
|
static float LongestWheelieDist;
|
|
|
|
static float LongestStoppieDist;
|
|
|
|
static float Longest2WheelDist;
|
|
|
|
|
2019-07-07 09:13:04 +02:00
|
|
|
public:
|
2020-04-09 12:14:37 +02:00
|
|
|
static void Init(void);
|
2020-02-16 21:08:54 +01:00
|
|
|
static void RegisterFastestTime(int32, int32);
|
|
|
|
static void RegisterHighestScore(int32, int32);
|
2020-06-07 14:23:52 +02:00
|
|
|
static void RegisterBestPosition(int32, int32);
|
2020-04-09 12:14:37 +02:00
|
|
|
static void AnotherLifeSavedWithAmbulance();
|
|
|
|
static void AnotherCriminalCaught();
|
|
|
|
static void RegisterLevelAmbulanceMission(int32);
|
2020-08-13 22:39:55 +02:00
|
|
|
static void RegisterLevelVigilanteMission(int32);
|
|
|
|
static void RegisterLevelFireMission(int32);
|
2020-04-09 12:14:37 +02:00
|
|
|
static void AnotherFireExtinguished();
|
|
|
|
static wchar *FindCriminalRatingString();
|
|
|
|
static void AnotherKillFrenzyPassed();
|
2020-02-16 21:08:54 +01:00
|
|
|
static void SetTotalNumberKillFrenzies(int32);
|
|
|
|
static void SetTotalNumberMissions(int32);
|
2020-01-01 00:35:54 +01:00
|
|
|
static void CheckPointReachedSuccessfully() { TotalLegitimateKills += KillsSinceLastCheckpoint; KillsSinceLastCheckpoint = 0; };
|
2020-04-09 12:14:37 +02:00
|
|
|
static void CheckPointReachedUnsuccessfully() { KillsSinceLastCheckpoint = 0; };
|
|
|
|
static int32 FindCriminalRatingNumber();
|
2020-03-11 08:12:40 +01:00
|
|
|
static void SaveStats(uint8 *buf, uint32 *size);
|
2020-04-09 12:14:37 +02:00
|
|
|
static void LoadStats(uint8 *buf, uint32 size);
|
2020-05-17 19:36:48 +02:00
|
|
|
static float GetPercentageProgress();
|
2020-05-16 22:06:33 +02:00
|
|
|
|
2020-08-13 22:39:55 +02:00
|
|
|
static void MoneySpentOnWeapons(int32);
|
|
|
|
static void MoneySpentOnProperty(int32);
|
|
|
|
static void MoneySpentOnAutoPainting(int32);
|
2020-05-16 22:06:33 +02:00
|
|
|
static void MoneySpentOnFashion(int32);
|
2020-08-13 22:39:55 +02:00
|
|
|
|
|
|
|
static void NumOfVisitsFromLoanSharks(int32);
|
|
|
|
static void NumOfStoresKnockedOff(int32);
|
|
|
|
static void NumOfMovieStunts(int32);
|
|
|
|
static void NumOfAssassinations(int32);
|
|
|
|
static void NumOfPizzasDelivered(int32);
|
|
|
|
static void NumOfGarbagePickups(int32);
|
|
|
|
static void NumOfIceCreamSold(int32);
|
|
|
|
static void AddNumBloodRingKills(int32);
|
|
|
|
|
|
|
|
static void LongestTimeInBloodRing(int32);
|
|
|
|
static void AddPropertyAsOwned(int32);
|
2020-09-09 18:37:44 +02:00
|
|
|
static float GetFavoriteRadioStationList(int32);
|
2020-03-11 22:15:27 +01:00
|
|
|
};
|