Re3/src/core/Stats.h

91 lines
3.0 KiB
C
Raw Normal View History

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[NUM_PEDTYPES];
2020-04-17 01:54:14 -04:00
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();
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
};