re3/src/core/Stats.h

153 lines
5.1 KiB
C
Raw Normal View History

2019-06-13 00:35:26 +00:00
#pragma once
2020-03-24 18:50:08 +00:00
#include "PedType.h"
#include "audio_enums.h"
2020-03-24 18:50:08 +00:00
2019-06-13 00:35:26 +00:00
class CStats
{
public:
2020-02-16 20:08:54 +00:00
enum {
2020-06-07 12:23:52 +00:00
TOTAL_FASTEST_TIMES = 23,
TOTAL_HIGHEST_SCORES = 5,
TOTAL_BEST_POSITIONS = 1,
TOTAL_PROPERTIES = 15
2020-02-16 20:08:54 +00:00
};
2020-05-26 23:16:31 +00:00
static int32 SeagullsKilled;
2020-04-17 05:54:14 +00:00
static int32 DaysPassed;
2020-05-22 12:27:16 +00:00
static int32 HeadsPopped;
2020-04-17 05:54:14 +00:00
static int32 CommercialPassed;
static int32 IndustrialPassed;
static int32 SuburbanPassed;
static int32 NumberKillFrenziesPassed;
static int32 PeopleKilledByOthers;
static int32 HelisDestroyed;
static int32 PedsKilledOfThisType[NUM_PEDTYPES];
2020-04-17 05:54:14 +00:00
static int32 TimesDied;
static int32 TimesArrested;
static int32 KillsSinceLastCheckpoint;
static float DistanceTravelledByCar;
static float DistanceTravelledByHelicoptor;
static float DistanceTravelledByBike;
static float DistanceTravelledByBoat;
static float DistanceTravelledByPlane;
static float DistanceTravelledByGolfCart;
2020-07-02 22:04:49 +00:00
static float DistanceTravelledOnFoot;
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 05:54:14 +00:00
static int32 CarsExploded;
static int32 BoatsExploded;
static int32 WantedStarsAttained;
static int32 WantedStarsEvaded;
2020-04-17 05:54:14 +00:00
static int32 PeopleKilledByPlayer;
2020-12-02 11:39:01 +00:00
static float ProgressMade;
static float TotalProgressInGame;
2020-04-17 05:54:14 +00:00
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;
static int32 HighestLevelVigilanteMission;
static int32 HighestLevelFireMission;
2020-04-17 05:54:14 +00:00
static int32 FiresExtinguished;
static int32 TotalNumberKillFrenzies;
2020-05-22 12:27:16 +00:00
static int32 TotalNumberMissions;
static int32 RoundsFiredByPlayer;
static int32 KgsOfExplosivesUsed;
static int32 BulletsThatHit;
2020-05-22 12:27:16 +00:00
static int32 BestTimeBombDefusal;
2020-04-17 05:54:14 +00:00
static int32 FastestTimes[TOTAL_FASTEST_TIMES];
static int32 HighestScores[TOTAL_HIGHEST_SCORES];
2020-06-07 12:23:52 +00:00
static int32 BestPositions[TOTAL_BEST_POSITIONS];
static bool PropertyOwned[TOTAL_PROPERTIES];
static int32 NumPropertyOwned;
2020-05-22 12:27:16 +00:00
static int32 PropertyDestroyed;
static float HighestChaseValue;
static int32 CheatedCount;
static int32 ShowChaseStatOnScreen;
2020-08-09 14:49:15 +00:00
static int32 PamphletMissionPassed;
static bool abSonyCDs[1];
static int32 BloodRingKills;
static int32 BloodRingTime;
static float FavoriteRadioStationList[NUM_RADIOS];
2020-05-11 18:04:35 +00:00
static int32 Sprayings;
static float AutoPaintingBudget;
static int32 NoMoreHurricanes;
2020-05-16 20:06:33 +00:00
static float FashionBudget;
static float PropertyBudget;
static float WeaponBudget;
2020-05-20 20:47:44 +00:00
static int32 SafeHouseVisits;
2020-05-27 20:32:33 +00:00
static int32 TyresPopped;
2019-07-04 20:31:21 +00:00
static int32 LongestWheelie;
static int32 LongestStoppie;
static int32 Longest2Wheel;
static float LongestWheelieDist;
static float LongestStoppieDist;
static float Longest2WheelDist;
2019-07-07 07:13:04 +00:00
public:
2020-04-09 10:14:37 +00:00
static void Init(void);
2020-02-16 20:08:54 +00:00
static void RegisterFastestTime(int32, int32);
static void RegisterHighestScore(int32, int32);
2020-06-07 12:23:52 +00:00
static void RegisterBestPosition(int32, int32);
2020-04-09 10:14:37 +00:00
static void AnotherLifeSavedWithAmbulance();
static void AnotherCriminalCaught();
static void RegisterLevelAmbulanceMission(int32);
static void RegisterLevelVigilanteMission(int32);
static void RegisterLevelFireMission(int32);
2020-04-09 10:14:37 +00:00
static void AnotherFireExtinguished();
static wchar *FindCriminalRatingString();
2020-08-30 20:47:12 +00:00
static wchar *FindChaseString(float fMediaLevel);
2020-04-09 10:14:37 +00:00
static void AnotherKillFrenzyPassed();
2020-02-16 20:08:54 +00:00
static void SetTotalNumberKillFrenzies(int32);
static void SetTotalNumberMissions(int32);
2019-12-31 23:35:54 +00:00
static void CheckPointReachedSuccessfully() { TotalLegitimateKills += KillsSinceLastCheckpoint; KillsSinceLastCheckpoint = 0; };
2020-04-09 10:14:37 +00:00
static void CheckPointReachedUnsuccessfully() { KillsSinceLastCheckpoint = 0; };
static int32 FindCriminalRatingNumber();
static void SaveStats(uint8 *buf, uint32 *size);
2020-04-09 10:14:37 +00:00
static void LoadStats(uint8 *buf, uint32 size);
2020-05-17 17:36:48 +00:00
static float GetPercentageProgress();
2020-05-16 20:06:33 +00:00
static void MoneySpentOnWeapons(int32);
static void MoneySpentOnProperty(int32);
static void MoneySpentOnAutoPainting(int32);
2020-05-16 20:06:33 +00:00
static void MoneySpentOnFashion(int32);
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);
static void PopulateFavoriteRadioStationList();
static float GetFavoriteRadioStationList(int32);
static void BuildStatLine(Const char *, void *, int, void *, int);
static int ConstructStatLine(int);
2020-03-11 21:15:27 +00:00
};