re3/src/core/Stats.h

91 lines
3.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"
2019-06-13 00:35:26 +00:00
class CStats
{
public:
2020-02-16 20:08:54 +00:00
enum {
TOTAL_FASTEST_TIMES = 16,
TOTAL_HIGHEST_SCORES = 16
};
2019-06-16 22:16:38 +00:00
static int32 &DaysPassed;
2020-03-24 18:50:08 +00:00
static int32 &HeadsPopped;
2020-04-09 10:14:37 +00:00
static int32& CommercialPassed;
static int32& IndustrialPassed;
static int32& SuburbanPassed;
2019-07-04 20:31:21 +00:00
static int32 &NumberKillFrenziesPassed;
static int32 &PeopleKilledByOthers;
2019-08-03 22:31:00 +00:00
static int32 &HelisDestroyed;
2020-03-24 18:50:08 +00:00
static int32(&PedsKilledOfThisType)[ePedType::NUM_PEDTYPES];
2019-10-07 21:29:30 +00:00
static int32 &TimesDied;
static int32 &TimesArrested;
static int32 &KillsSinceLastCheckpoint;
2019-12-09 23:02:02 +00:00
static int32 &DistanceTravelledInVehicle;
static int32 &DistanceTravelledOnFoot;
2020-01-07 14:37:20 +00:00
static int32 &CarsExploded;
static int32 &PeopleKilledByPlayer;
2019-12-31 23:35:54 +00:00
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;
2020-02-15 11:53:42 +00:00
static int32 &ElBurroTime;
2020-02-16 20:08:54 +00:00
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-03-24 18:50:08 +00:00
static int32 &TotalNumberMissions;
2020-04-09 10:14:37 +00:00
static int32 &RoundsFiredByPlayer;
2020-03-24 18:50:08 +00:00
static int32 &KgsOfExplosivesUsed;
static int32 &InstantHitsFiredByPlayer;
static int32 &InstantHitsHitByPlayer;
static int32 &BestTimeBombDefusal;
static int32 &mmRain;
static int32 &CarsCrushed;
2020-02-16 20:08:54 +00:00
static int32(&FastestTimes)[TOTAL_FASTEST_TIMES];
static int32(&HighestScores)[TOTAL_HIGHEST_SCORES];
2019-07-04 20:31:21 +00:00
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-04-09 10:14:37 +00:00
static void RegisterElBurroTime(int32);
2020-02-16 20:08:54 +00:00
static void Register4x4OneTime(int32);
static void Register4x4TwoTime(int32);
static void Register4x4ThreeTime(int32);
static void Register4x4MayhemTime(int32);
2020-04-09 10:14:37 +00:00
static void AnotherLifeSavedWithAmbulance();
static void AnotherCriminalCaught();
static void RegisterLevelAmbulanceMission(int32);
static void AnotherFireExtinguished();
static wchar *FindCriminalRatingString();
2020-02-16 20:08:54 +00:00
static void RegisterLongestFlightInDodo(int32);
static void RegisterTimeTakenDefuseMission(int32);
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-03-11 21:15:27 +00:00
};