mirror of
https://github.com/GTAmodding/re3.git
synced 2024-12-26 06:25:41 +00:00
Fixes
This commit is contained in:
parent
8844caf44d
commit
aae4f3319f
7 changed files with 15 additions and 31 deletions
|
@ -442,6 +442,11 @@ CCarCtrl::GenerateOneRandomCar()
|
||||||
pVehicle->GetRight() = CVector(forwardY, -forwardX, 0.0f);
|
pVehicle->GetRight() = CVector(forwardY, -forwardX, 0.0f);
|
||||||
pVehicle->GetUp() = CVector(0.0f, 0.0f, 1.0f);
|
pVehicle->GetUp() = CVector(0.0f, 0.0f, 1.0f);
|
||||||
|
|
||||||
|
float currentPathLinkForwardX = pVehicle->AutoPilot.m_nCurrentDirection * ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nCurrentPathNodeInfo].GetDirX();
|
||||||
|
float currentPathLinkForwardY = pVehicle->AutoPilot.m_nCurrentDirection * ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nCurrentPathNodeInfo].GetDirY();
|
||||||
|
float nextPathLinkForwardX = pVehicle->AutoPilot.m_nNextDirection * ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nNextPathNodeInfo].GetDirX();
|
||||||
|
float nextPathLinkForwardY = pVehicle->AutoPilot.m_nNextDirection * ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nNextPathNodeInfo].GetDirY();
|
||||||
|
|
||||||
#ifdef FIX_BUGS
|
#ifdef FIX_BUGS
|
||||||
CCarPathLink* pCurrentLink;
|
CCarPathLink* pCurrentLink;
|
||||||
CCarPathLink* pNextLink;
|
CCarPathLink* pNextLink;
|
||||||
|
@ -452,10 +457,6 @@ CCarCtrl::GenerateOneRandomCar()
|
||||||
float directionNextLinkX;
|
float directionNextLinkX;
|
||||||
float directionNextLinkY;
|
float directionNextLinkY;
|
||||||
if (positionBetweenNodes < 0.5f) {
|
if (positionBetweenNodes < 0.5f) {
|
||||||
float currentPathLinkForwardX = pVehicle->AutoPilot.m_nCurrentDirection * ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nCurrentPathNodeInfo].GetDirX();
|
|
||||||
float currentPathLinkForwardY = pVehicle->AutoPilot.m_nCurrentDirection * ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nCurrentPathNodeInfo].GetDirY();
|
|
||||||
float nextPathLinkForwardX = pVehicle->AutoPilot.m_nNextDirection * ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nNextPathNodeInfo].GetDirX();
|
|
||||||
float nextPathLinkForwardY = pVehicle->AutoPilot.m_nNextDirection * ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nNextPathNodeInfo].GetDirY();
|
|
||||||
|
|
||||||
pCurrentLink = &ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nCurrentPathNodeInfo];
|
pCurrentLink = &ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nCurrentPathNodeInfo];
|
||||||
pNextLink = &ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nNextPathNodeInfo];
|
pNextLink = &ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nNextPathNodeInfo];
|
||||||
|
@ -486,11 +487,6 @@ CCarCtrl::GenerateOneRandomCar()
|
||||||
pVehicle->AutoPilot.m_nTimeEnteredCurve = CTimer::GetTimeInMilliseconds() -
|
pVehicle->AutoPilot.m_nTimeEnteredCurve = CTimer::GetTimeInMilliseconds() -
|
||||||
(uint32)((positionBetweenNodes - 0.5f) * pVehicle->AutoPilot.m_nTimeToSpendOnCurrentCurve);
|
(uint32)((positionBetweenNodes - 0.5f) * pVehicle->AutoPilot.m_nTimeToSpendOnCurrentCurve);
|
||||||
|
|
||||||
float currentPathLinkForwardX = pVehicle->AutoPilot.m_nCurrentDirection * ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nCurrentPathNodeInfo].GetDirX();
|
|
||||||
float currentPathLinkForwardY = pVehicle->AutoPilot.m_nCurrentDirection * ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nCurrentPathNodeInfo].GetDirY();
|
|
||||||
float nextPathLinkForwardX = pVehicle->AutoPilot.m_nNextDirection * ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nNextPathNodeInfo].GetDirX();
|
|
||||||
float nextPathLinkForwardY = pVehicle->AutoPilot.m_nNextDirection * ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nNextPathNodeInfo].GetDirY();
|
|
||||||
|
|
||||||
pCurrentLink = &ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nCurrentPathNodeInfo];
|
pCurrentLink = &ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nCurrentPathNodeInfo];
|
||||||
pNextLink = &ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nNextPathNodeInfo];
|
pNextLink = &ThePaths.m_carPathLinks[pVehicle->AutoPilot.m_nNextPathNodeInfo];
|
||||||
positionOnCurrentLinkIncludingLane = CVector(
|
positionOnCurrentLinkIncludingLane = CVector(
|
||||||
|
@ -1907,7 +1903,6 @@ void CCarCtrl::PickNextNodeRandomly(CVehicle* pVehicle)
|
||||||
}
|
}
|
||||||
if (pVehicle->AutoPilot.m_bStayInFastLane)
|
if (pVehicle->AutoPilot.m_bStayInFastLane)
|
||||||
pVehicle->AutoPilot.m_nNextLane = 0;
|
pVehicle->AutoPilot.m_nNextLane = 0;
|
||||||
#ifdef FIX_BUGS
|
|
||||||
CVector positionOnCurrentLinkIncludingLane(
|
CVector positionOnCurrentLinkIncludingLane(
|
||||||
pCurLink->GetX() + ((pVehicle->AutoPilot.m_nCurrentLane + pCurLink->OneWayLaneOffset()) * LANE_WIDTH)
|
pCurLink->GetX() + ((pVehicle->AutoPilot.m_nCurrentLane + pCurLink->OneWayLaneOffset()) * LANE_WIDTH)
|
||||||
#ifdef FIX_BUGS
|
#ifdef FIX_BUGS
|
||||||
|
@ -1922,16 +1917,6 @@ void CCarCtrl::PickNextNodeRandomly(CVehicle* pVehicle)
|
||||||
#endif
|
#endif
|
||||||
,pNextLink->GetY() - ((pVehicle->AutoPilot.m_nNextLane + pNextLink->OneWayLaneOffset()) * LANE_WIDTH) * nextPathLinkForwardX,
|
,pNextLink->GetY() - ((pVehicle->AutoPilot.m_nNextLane + pNextLink->OneWayLaneOffset()) * LANE_WIDTH) * nextPathLinkForwardX,
|
||||||
0.0f);
|
0.0f);
|
||||||
#else
|
|
||||||
CVector positionOnCurrentLinkIncludingLane(
|
|
||||||
pCurLink->GetX() + ((pVehicle->AutoPilot.m_nCurrentLane + pCurLink->OneWayLaneOffset()) * LANE_WIDTH),
|
|
||||||
pCurLink->GetY() - ((pVehicle->AutoPilot.m_nCurrentLane + pCurLink->OneWayLaneOffset()) * LANE_WIDTH) * currentPathLinkForwardX,
|
|
||||||
0.0f);
|
|
||||||
CVector positionOnNextLinkIncludingLane(
|
|
||||||
pNextLink->GetX() + ((pVehicle->AutoPilot.m_nNextLane + pNextLink->OneWayLaneOffset()) * LANE_WIDTH) * nextPathLinkForwardY,
|
|
||||||
pNextLink->GetY() - ((pVehicle->AutoPilot.m_nNextLane + pNextLink->OneWayLaneOffset()) * LANE_WIDTH) * nextPathLinkForwardX,
|
|
||||||
0.0f);
|
|
||||||
#endif
|
|
||||||
float directionCurrentLinkX = pCurLink->GetDirX() * pVehicle->AutoPilot.m_nCurrentDirection;
|
float directionCurrentLinkX = pCurLink->GetDirX() * pVehicle->AutoPilot.m_nCurrentDirection;
|
||||||
float directionCurrentLinkY = pCurLink->GetDirY() * pVehicle->AutoPilot.m_nCurrentDirection;
|
float directionCurrentLinkY = pCurLink->GetDirY() * pVehicle->AutoPilot.m_nCurrentDirection;
|
||||||
float directionNextLinkX = pNextLink->GetDirX() * pVehicle->AutoPilot.m_nNextDirection;
|
float directionNextLinkX = pNextLink->GetDirX() * pVehicle->AutoPilot.m_nNextDirection;
|
||||||
|
|
|
@ -4,9 +4,7 @@
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
|
||||||
#include "Bike.h"
|
#include "Bike.h"
|
||||||
#ifdef FIX_BUGS
|
|
||||||
#include "Boat.h"
|
#include "Boat.h"
|
||||||
#endif
|
|
||||||
#include "DMAudio.h"
|
#include "DMAudio.h"
|
||||||
#include "General.h"
|
#include "General.h"
|
||||||
#include "Font.h"
|
#include "Font.h"
|
||||||
|
|
|
@ -148,8 +148,8 @@ class CGarage
|
||||||
return Abs(TheCamera.GetPosition().x - GetGarageCenterX()) > SWITCH_GARAGE_DISTANCE_CLOSE ||
|
return Abs(TheCamera.GetPosition().x - GetGarageCenterX()) > SWITCH_GARAGE_DISTANCE_CLOSE ||
|
||||||
Abs(TheCamera.GetPosition().y - GetGarageCenterY()) > SWITCH_GARAGE_DISTANCE_CLOSE;
|
Abs(TheCamera.GetPosition().y - GetGarageCenterY()) > SWITCH_GARAGE_DISTANCE_CLOSE;
|
||||||
#else
|
#else
|
||||||
return Abs(TheCamera.GetPosition().x - m_fX1) > SWITCH_GARAGE_DISTANCE_CLOSE ||
|
return Abs(TheCamera.GetPosition().x - m_fInfX) > SWITCH_GARAGE_DISTANCE_CLOSE ||
|
||||||
Abs(TheCamera.GetPosition().y - m_fY1) > SWITCH_GARAGE_DISTANCE_CLOSE;
|
Abs(TheCamera.GetPosition().y - m_fInfY) > SWITCH_GARAGE_DISTANCE_CLOSE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
void TidyUpGarageClose();
|
void TidyUpGarageClose();
|
||||||
|
|
|
@ -57,9 +57,7 @@ public:
|
||||||
static void RestoreInfoForMatrix(CMatrix&, CCarStateEachFrame*);
|
static void RestoreInfoForMatrix(CMatrix&, CCarStateEachFrame*);
|
||||||
static void RestoreInfoForCar(CAutomobile*, CCarStateEachFrame*, bool);
|
static void RestoreInfoForCar(CAutomobile*, CCarStateEachFrame*, bool);
|
||||||
static void ProcessControlCars(void);
|
static void ProcessControlCars(void);
|
||||||
#if (defined(GTA_PS2) || defined(FIX_BUGS))
|
|
||||||
static bool ShouldThisPadBeLeftAlone(uint8 pad);
|
static bool ShouldThisPadBeLeftAlone(uint8 pad);
|
||||||
#endif
|
|
||||||
static void GiveUsACar(int32, CVector, float, CAutomobile**, uint8, uint8);
|
static void GiveUsACar(int32, CVector, float, CAutomobile**, uint8, uint8);
|
||||||
static void StartChaseScene(float);
|
static void StartChaseScene(float);
|
||||||
static void CleanUpChaseScene(void);
|
static void CleanUpChaseScene(void);
|
||||||
|
|
|
@ -3621,6 +3621,8 @@ CCamera::LoadPathSplines(int file)
|
||||||
m_arrPathArray[i].m_arr_PathData[j] = atof(token);
|
m_arrPathArray[i].m_arr_PathData[j] = atof(token);
|
||||||
i++;
|
i++;
|
||||||
j = 0;
|
j = 0;
|
||||||
|
if (i == MAX_NUM_OF_SPLINETYPES)
|
||||||
|
reading = false;
|
||||||
memset(token, 0, 32);
|
memset(token, 0, 32);
|
||||||
n = 0;
|
n = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1164,8 +1164,8 @@ CWorld::FindObjectsIntersectingCube(const CVector &vecStartPos, const CVector &v
|
||||||
const int32 nEndX = Min(GetSectorIndexX(vecStartPos.x), NUMSECTORS_X - 1);
|
const int32 nEndX = Min(GetSectorIndexX(vecStartPos.x), NUMSECTORS_X - 1);
|
||||||
const int32 nEndY = Min(GetSectorIndexY(vecStartPos.y), NUMSECTORS_Y - 1);
|
const int32 nEndY = Min(GetSectorIndexY(vecStartPos.y), NUMSECTORS_Y - 1);
|
||||||
#else
|
#else
|
||||||
const int32 nEndX = Min(GetSectorIndexX(vecSectorPos.x), NUMSECTORS_X);
|
const int32 nEndX = Min(GetSectorIndexX(vecStartPos.x), NUMSECTORS_X);
|
||||||
const int32 nEndY = Min(GetSectorIndexY(vecSectorPos.y), NUMSECTORS_Y);
|
const int32 nEndY = Min(GetSectorIndexY(vecStartPos.y), NUMSECTORS_Y);
|
||||||
#endif
|
#endif
|
||||||
for(int32 y = nStartY; y <= nEndY; y++) {
|
for(int32 y = nStartY; y <= nEndY; y++) {
|
||||||
for(int32 x = nStartX; x <= nEndX; x++) {
|
for(int32 x = nStartX; x <= nEndX; x++) {
|
||||||
|
|
|
@ -1457,7 +1457,8 @@ CWeapon::DoBulletImpact(CEntity *shooter, CEntity *victim,
|
||||||
|
|
||||||
#ifndef FIX_BUGS
|
#ifndef FIX_BUGS
|
||||||
CVector dist = point->point - (*source);
|
CVector dist = point->point - (*source);
|
||||||
CVector smokePos = point->point - Max(0.1f * dist.Magnitude(), 0.2f) / dist.Magnitude();
|
float distMagnitude = dist.Magnitude();
|
||||||
|
CVector smokePos = point->point - Max(distMagnitude / 10.0f, 0.2f) * dist / distMagnitude;
|
||||||
#else
|
#else
|
||||||
CVector smokePos = point->point;
|
CVector smokePos = point->point;
|
||||||
#endif // !FIX_BUGS
|
#endif // !FIX_BUGS
|
||||||
|
@ -1486,9 +1487,9 @@ CWeapon::DoBulletImpact(CEntity *shooter, CEntity *victim,
|
||||||
CParticle::AddParticle(PARTICLE_SPARK, point->point, point->normal * 0.05f);
|
CParticle::AddParticle(PARTICLE_SPARK, point->point, point->normal * 0.05f);
|
||||||
|
|
||||||
#ifndef FIX_BUGS
|
#ifndef FIX_BUGS
|
||||||
CVector dist = point.point - (*fireSource);
|
CVector dist = point->point - (*source);
|
||||||
CVector offset = dist - Max(0.2f * dist.Magnitude(), 0.5f) * CVector(ahead.x, ahead.y, 0.0f);
|
CVector offset = dist - Max(0.2f * dist.Magnitude(), 0.5f) * CVector(ahead.x, ahead.y, 0.0f);
|
||||||
CVector smokePos = *fireSource + offset;
|
CVector smokePos = *source + offset;
|
||||||
#else
|
#else
|
||||||
CVector smokePos = point->point;
|
CVector smokePos = point->point;
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue