Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files
Merge branch 'master' into master
  • Loading branch information
Fire-Head committed Aug 15, 2019
2 parents 6093d85 + cf83753 commit 6909fa283a25410a6d5f2fc93259b71770512ca2
Showing with 6,131 additions and 407 deletions.
  1. +1 −2 src/audio/DMAudio.cpp
  2. +1 −1 src/audio/DMAudio.h
  3. +5 −0 src/control/AutoPilot.cpp
  4. +18 −15 src/control/AutoPilot.h
  5. +16 −0 src/control/CarAI.cpp
  6. +6 −0 src/control/CarAI.h
  7. +860 −4 src/control/CarCtrl.cpp
  8. +67 −1 src/control/CarCtrl.h
  9. +5 −0 src/control/Cranes.cpp
  10. +10 −0 src/control/Cranes.h
  11. +6 −0 src/control/Curves.cpp
  12. +9 −0 src/control/Curves.h
  13. +1 −1 src/control/Gangs.cpp
  14. +2 −1 src/control/Gangs.h
  15. +1 −0 src/control/Garages.cpp
  16. +1 −0 src/control/Garages.h
  17. +932 −80 src/control/PathFind.cpp
  18. +74 −29 src/control/PathFind.h
  19. +2 −1 src/control/Pickups.cpp
  20. +3 −1 src/control/Pickups.h
  21. +1 −0 src/control/Population.cpp
  22. +1 −0 src/control/Population.h
  23. +7 −0 src/control/Restart.cpp
  24. +9 −0 src/control/Restart.h
  25. +5 −0 src/control/RoadBlocks.cpp
  26. +10 −0 src/control/RoadBlocks.h
  27. +474 −12 src/control/Script.cpp
  28. +17 −0 src/control/TrafficLights.cpp
  29. +10 −0 src/control/TrafficLights.h
  30. +10 −0 src/core/Camera.cpp
  31. +5 −0 src/core/Camera.h
  32. +1 −1 src/core/Collision.cpp
  33. +18 −0 src/core/General.h
  34. +28 −0 src/core/IniFile.cpp
  35. +10 −0 src/core/IniFile.h
  36. +8 −8 src/core/Radar.cpp
  37. +4 −4 src/core/Radar.h
  38. +3 −1 src/core/Stats.cpp
  39. +2 −0 src/core/Stats.h
  40. +2 −0 src/core/Wanted.h
  41. +1 −1 src/core/World.cpp
  42. +2 −2 src/core/World.h
  43. +1 −1 src/core/common.h
  44. +6 −0 src/core/config.h
  45. +27 −27 src/core/re3.cpp
  46. +14 −13 src/entities/Physical.cpp
  47. +4 −2 src/entities/Physical.h
  48. +1 −2 src/entities/Treadable.h
  49. +50 −1 src/math/Vector2D.h
  50. +8 −7 src/modelinfo/VehicleModelInfo.cpp
  51. +2,128 −134 src/peds/Ped.cpp
  52. +66 −26 src/peds/Ped.h
  53. +6 −0 src/peds/PedRoutes.cpp
  54. +7 −0 src/peds/PedRoutes.h
  55. +2 −2 src/render/Renderer.cpp
  56. +2 −2 src/vehicles/Automobile.cpp
  57. +13 −5 src/vehicles/Automobile.h
  58. +1,038 −4 src/vehicles/Heli.cpp
  59. +85 −2 src/vehicles/Heli.h
  60. +6 −5 src/vehicles/Plane.cpp
  61. +1 −1 src/vehicles/Train.cpp
  62. +3 −2 src/vehicles/Train.h
  63. +7 −3 src/vehicles/Vehicle.cpp
  64. +8 −3 src/vehicles/Vehicle.h
@@ -8,7 +8,6 @@
cDMAudio &DMAudio = *(cDMAudio*)0x95CDBE;



void
cDMAudio::Initialise(void)
{
@@ -372,4 +371,4 @@ STARTPATCHES

//InjectHook(0x57CEB0, `global constructor keyed to'dmaudio.cpp, PATCH_JUMP);
//InjectHook(0x57CED0, cDMAudio::~cDMAudio, PATCH_JUMP);
ENDPATCHES
ENDPATCHES
@@ -246,7 +246,7 @@ class cDMAudio
void PlayLoadedMissionAudio(void);
bool IsMissionAudioSampleFinished(void);
void ClearMissionAudio(void);

int32 GetRadioInCar(void);
void SetRadioInCar(uint32 radio);
void SetRadioChannel(int8 radio, int32 pos);
@@ -0,0 +1,5 @@
#include "common.h"
#include "patcher.h"
#include "AutoPilot.h"

WRAPPER void CAutoPilot::ModifySpeed(float) { EAXJMP(0x4137B0); }
@@ -1,4 +1,5 @@
#pragma once
#include "Timer.h"

class CVehicle;

@@ -62,26 +63,26 @@ class CAutoPilot {
uint32 m_nCurrentRouteNode;
uint32 m_nNextRouteNode;
uint32 m_nPrevRouteNode;
uint32 m_nTotalSpeedScaleFactor;
uint32 m_nSpeedScaleFactor;
uint32 m_nTimeEnteredCurve;
uint32 m_nTimeToSpendOnCurrentCurve;
uint32 m_nCurrentPathNodeInfo;
uint32 m_nNextPathNodeInfo;
uint32 m_nPreviousPathNodeInfo;
uint32 m_nTimeToStartMission;
uint32 m_nTimeSwitchedToRealPhysics;
uint32 m_nAntiReverseTimer;
int8 m_nPreviousDirection;
int8 m_nCurrentDirecton;
int8 m_nCurrentDirection;
int8 m_nNextDirection;
int8 m_nPreviousLane;
int8 m_nCurrentLane;
int8 m_nNextLane;
eCarDrivingStyle m_nDrivingStyle;
eCarMission m_nCarMission;
eCarTempAction m_nAnimationId;
uint8 m_nAnimationTime;
eCarTempAction m_nTempAction;
uint32 m_nTimeTempAction;
float m_fMaxTrafficSpeed;
uint8 m_nCruiseSpeed;
uint8 m_flag1 : 1;
uint8 m_flag2 : 1;
uint8 m_bSlowedDownBecauseOfPeds : 1;
uint8 m_flag4 : 1;
uint8 m_flag8 : 1;
uint8 m_flag10 : 1;
@@ -94,26 +95,28 @@ class CAutoPilot {
m_nPrevRouteNode = 0;
m_nNextRouteNode = m_nPrevRouteNode;
m_nCurrentRouteNode = m_nNextRouteNode;
m_nTotalSpeedScaleFactor = 0;
m_nSpeedScaleFactor = 1000;
m_nTimeEnteredCurve = 0;
m_nTimeToSpendOnCurrentCurve = 1000;
m_nPreviousPathNodeInfo = 0;
m_nNextPathNodeInfo = m_nPreviousPathNodeInfo;
m_nCurrentPathNodeInfo = m_nNextPathNodeInfo;
m_nNextDirection = 1;
m_nCurrentDirecton = m_nNextDirection;
m_nPreviousLane = m_nCurrentLane = 0;
m_nCurrentDirection = m_nNextDirection;
m_nCurrentLane = m_nNextLane = 0;
m_nDrivingStyle = DRIVINGSTYLE_STOP_FOR_CARS;
m_nCarMission = MISSION_NONE;
m_nAnimationId = TEMPACT_NONE;
m_nTempAction = TEMPACT_NONE;
m_nCruiseSpeed = 10;
m_fMaxTrafficSpeed = 10.0f;
m_flag2 = false;
m_bSlowedDownBecauseOfPeds = false;
m_flag1 = false;
m_nPathFindNodesCount = 0;
m_pTargetCar = 0;
m_nTimeToStartMission = CTimer::GetTimeInMilliseconds();
m_nTimeSwitchedToRealPhysics = m_nTimeToStartMission;
m_nAntiReverseTimer = m_nTimeToStartMission;
m_flag8 = false;
}

void ModifySpeed(float);
};
static_assert(sizeof(CAutoPilot) == 0x70, "CAutoPilot: error");
@@ -2,5 +2,21 @@
#include "patcher.h"
#include "CarAI.h"

#include "AutoPilot.h"
#include "Timer.h"
#include "Vehicle.h"

WRAPPER void CCarAI::UpdateCarAI(CVehicle*) { EAXJMP(0x413E50); }
WRAPPER void CCarAI::MakeWayForCarWithSiren(CVehicle *veh) { EAXJMP(0x416280); }
WRAPPER eCarMission CCarAI::FindPoliceCarMissionForWantedLevel() { EAXJMP(0x415E30); }
WRAPPER int32 CCarAI::FindPoliceCarSpeedForWantedLevel(CVehicle*) { EAXJMP(0x415EB0); }
WRAPPER void CCarAI::AddPoliceOccupants(CVehicle*) { EAXJMP(0x415C60); }

void CCarAI::CarHasReasonToStop(CVehicle* pVehicle)
{
pVehicle->AutoPilot.m_nAntiReverseTimer = CTimer::GetTimeInMilliseconds();
}

STARTPATCHES
InjectHook(0x415B00, &CCarAI::CarHasReasonToStop, PATCH_JUMP);
ENDPATCHES
@@ -1,10 +1,16 @@
#pragma once

#include "AutoPilot.h"

class CVehicle;

class CCarAI
{
public:
static void UpdateCarAI(CVehicle*);
static void MakeWayForCarWithSiren(CVehicle *veh);
static int32 FindPoliceCarSpeedForWantedLevel(CVehicle*);
static eCarMission FindPoliceCarMissionForWantedLevel();
static void AddPoliceOccupants(CVehicle*);
static void CarHasReasonToStop(CVehicle*);
};

0 comments on commit 6909fa2

Please sign in to comment.