summaryrefslogblamecommitdiffstats
path: root/src/core/Stats.h
blob: e6b8df6a222b67494e562c505d24d2e833b58ff9 (plain) (tree)
1
2
3
4
5
6
7
8

            

                    


            
              


                                         
          


                                    
                                
                                 









                                                                  

                                                

























                                                  

                                             





                                              

                                                         
                                                         
                                       
                                           

                                        
                                      
                                   
                                     
                                 
 
       
                               

                                                       
                                                       
                                               



                                                 




                                                         
                                                          
                                              

                                                      
                                                                                                                                        

                                                                                        
                                                        
                                                       
                                             

                                               
  
#pragma once

#include "PedType.h"

class CStats
{
public:
	enum {
		TOTAL_FASTEST_TIMES = 23,
		TOTAL_HIGHEST_SCORES = 5,
		TOTAL_BEST_POSITIONS = 1
	};
	//TODO
	static int32 SeagullsKilled;
	
	static int32 DaysPassed;
	static int32 HeadsPopped;
	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;
	static float DistanceTravelledInVehicle;
	static float DistanceTravelledOnFoot;
	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 TimeTakenDefuseMission;
	static int32 TotalNumberKillFrenzies;
	static int32 TotalNumberMissions;
	static int32 RoundsFiredByPlayer;
	static int32 KgsOfExplosivesUsed;
	static int32 InstantHitsFiredByPlayer;
	static int32 InstantHitsHitByPlayer;
	static int32 BestTimeBombDefusal;
	static int32 FastestTimes[TOTAL_FASTEST_TIMES];
	static int32 HighestScores[TOTAL_HIGHEST_SCORES];
	static int32 BestPositions[TOTAL_BEST_POSITIONS];
	static int32 PropertyDestroyed;
	static int32 PamphletMissionPassed;
	static int32 Sprayings;
	static float AutoPaintingBudget;
	static int32 NoMoreHurricanes;
	static float FashionBudget;
	static int32 SafeHouseVisits;
	static int32 TyresPopped;

public:
	static void Init(void);
	static void RegisterFastestTime(int32, int32);
	static void RegisterHighestScore(int32, int32);
	static void RegisterBestPosition(int32, int32);
	static void RegisterElBurroTime(int32);
	static void Register4x4OneTime(int32);
	static void Register4x4TwoTime(int32);
	static void Register4x4ThreeTime(int32);
	static void Register4x4MayhemTime(int32);
	static void AnotherLifeSavedWithAmbulance();
	static void AnotherCriminalCaught();
	static void RegisterLevelAmbulanceMission(int32);
	static void AnotherFireExtinguished();
	static wchar *FindCriminalRatingString();
	static void RegisterTimeTakenDefuseMission(int32);
	static void AnotherKillFrenzyPassed();
	static void SetTotalNumberKillFrenzies(int32);
	static void SetTotalNumberMissions(int32);
	static void CheckPointReachedSuccessfully() { TotalLegitimateKills += KillsSinceLastCheckpoint; KillsSinceLastCheckpoint = 0; };
	static void CheckPointReachedUnsuccessfully() { KillsSinceLastCheckpoint = 0; };
	static int32 FindCriminalRatingNumber();
	static void SaveStats(uint8 *buf, uint32 *size);
	static void LoadStats(uint8 *buf, uint32 size);
	static float GetPercentageProgress();

	static void MoneySpentOnFashion(int32);
};