mirror of
https://github.com/halpz/re3.git
synced 2025-06-29 11:26:19 +00:00
Merge remote-tracking branch 'origin/master' into MoreLanguages
This commit is contained in:
@ -2078,14 +2078,12 @@ void CGarage::CenterCarInGarage(CVehicle* pVehicle)
|
||||
return;
|
||||
if (IsAnyOtherPedTouchingGarage(FindPlayerPed()))
|
||||
return;
|
||||
float posX = pVehicle->GetPosition().x;
|
||||
float posY = pVehicle->GetPosition().y;
|
||||
float posZ = pVehicle->GetPosition().z;
|
||||
CVector pos = pVehicle->GetPosition();
|
||||
float garageX = GetGarageCenterX();
|
||||
float garageY = GetGarageCenterY();
|
||||
float offsetX = garageX - posX;
|
||||
float offsetY = garageY - posY;
|
||||
float offsetZ = posZ - posZ;
|
||||
float offsetX = garageX - pos.x;
|
||||
float offsetY = garageY - pos.y;
|
||||
float offsetZ = pos.z - pos.z;
|
||||
float distance = CVector(offsetX, offsetY, offsetZ).Magnitude();
|
||||
if (distance < RESPRAY_CENTERING_COEFFICIENT) {
|
||||
pVehicle->GetPosition().x = GetGarageCenterX();
|
||||
@ -2096,7 +2094,7 @@ void CGarage::CenterCarInGarage(CVehicle* pVehicle)
|
||||
pVehicle->GetPosition().y += offsetY * RESPRAY_CENTERING_COEFFICIENT / distance;
|
||||
}
|
||||
if (!IsEntityEntirelyInside3D(pVehicle, 0.1f))
|
||||
pVehicle->GetPosition() = CVector(posX, posY, posZ);
|
||||
pVehicle->GetPosition() = pos;
|
||||
}
|
||||
|
||||
void CGarages::CloseHideOutGaragesBeforeSave()
|
||||
|
@ -20,6 +20,9 @@
|
||||
#include "Fire.h"
|
||||
#include "PointLights.h"
|
||||
#include "Pools.h"
|
||||
#ifdef FIX_BUGS
|
||||
#include "Replay.h"
|
||||
#endif
|
||||
#include "Script.h"
|
||||
#include "Shadows.h"
|
||||
#include "SpecialFX.h"
|
||||
@ -642,32 +645,26 @@ CPickups::AddToCollectedPickupsArray(int32 index)
|
||||
void
|
||||
CPickups::Update()
|
||||
{
|
||||
#ifndef FIX_BUGS
|
||||
// BUG: this code can only reach 318 out of 320 pickups
|
||||
#ifdef FIX_BUGS // RIP speedrunning (solution from SA)
|
||||
if (CReplay::IsPlayingBack())
|
||||
return;
|
||||
#endif
|
||||
#define PICKUPS_FRAME_SPAN (6)
|
||||
#define PICKUPS_PER_FRAME (NUMGENERALPICKUPS/PICKUPS_FRAME_SPAN)
|
||||
|
||||
for (uint32 i = PICKUPS_PER_FRAME * (CTimer::GetFrameCounter() % PICKUPS_FRAME_SPAN); i < PICKUPS_PER_FRAME * (CTimer::GetFrameCounter() % PICKUPS_FRAME_SPAN + 1); i++) {
|
||||
#ifdef FIX_BUGS
|
||||
for (uint32 i = NUMGENERALPICKUPS * (CTimer::GetFrameCounter() % PICKUPS_FRAME_SPAN) / PICKUPS_FRAME_SPAN; i < NUMGENERALPICKUPS * (CTimer::GetFrameCounter() % PICKUPS_FRAME_SPAN + 1) / PICKUPS_FRAME_SPAN; i++) {
|
||||
#else // BUG: this code can only reach 318 out of 320 pickups
|
||||
for (uint32 i = NUMGENERALPICKUPS / PICKUPS_FRAME_SPAN * (CTimer::GetFrameCounter() % PICKUPS_FRAME_SPAN); i < NUMGENERALPICKUPS / PICKUPS_FRAME_SPAN * (CTimer::GetFrameCounter() % PICKUPS_FRAME_SPAN + 1); i++) {
|
||||
#endif
|
||||
if (aPickUps[i].m_eType != PICKUP_NONE && aPickUps[i].Update(FindPlayerPed(), FindPlayerVehicle(), CWorld::PlayerInFocus)) {
|
||||
AddToCollectedPickupsArray(i);
|
||||
}
|
||||
}
|
||||
|
||||
#undef PICKUPS_FRAME_SPAN
|
||||
for (uint32 i = NUMGENERALPICKUPS; i < NUMPICKUPS; i++) {
|
||||
if (aPickUps[i].m_eType != PICKUP_NONE && aPickUps[i].Update(FindPlayerPed(), FindPlayerVehicle(), CWorld::PlayerInFocus)) {
|
||||
AddToCollectedPickupsArray(i);
|
||||
}
|
||||
}
|
||||
|
||||
#undef PICKUPS_FRAME_SPAN
|
||||
#undef PICKUPS_PER_FRAME
|
||||
#else
|
||||
for (uint32 i = 0; i < NUMPICKUPS; i++) {
|
||||
if (aPickUps[i].m_eType != PICKUP_NONE && aPickUps[i].Update(FindPlayerPed(), FindPlayerVehicle(), CWorld::PlayerInFocus)) {
|
||||
AddToCollectedPickupsArray(i);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
Reference in New Issue
Block a user