mirror of
https://github.com/halpz/re3.git
synced 2025-07-03 19:40:48 +00:00
replays bug fix
This commit is contained in:
@ -2490,6 +2490,10 @@ CCamera::TryToStartNewCamMode(int obbeMode)
|
||||
TakeControl(FindPlayerEntity(), CCam::MODE_CAM_ON_A_STRING, JUMP_CUT, CAMCONTROL_OBBE);
|
||||
return true;
|
||||
case OBBE_COPCAR:
|
||||
#ifdef FIX_BUGS
|
||||
if (CReplay::IsPlayingBack())
|
||||
return false;
|
||||
#endif
|
||||
if(FindPlayerPed()->m_pWanted->m_nWantedLevel < 1)
|
||||
return false;
|
||||
if(FindPlayerVehicle() == nil)
|
||||
@ -2514,6 +2518,10 @@ CCamera::TryToStartNewCamMode(int obbeMode)
|
||||
}
|
||||
return false;
|
||||
case OBBE_COPCAR_WHEEL:
|
||||
#ifdef FIX_BUGS
|
||||
if (CReplay::IsPlayingBack())
|
||||
return false;
|
||||
#endif
|
||||
if(FindPlayerPed()->m_pWanted->m_nWantedLevel < 1)
|
||||
return false;
|
||||
if(FindPlayerVehicle() == nil)
|
||||
|
@ -41,6 +41,10 @@ CPlayerInfo::SetPlayerSkin(char *skin)
|
||||
CVector&
|
||||
CPlayerInfo::GetPos()
|
||||
{
|
||||
#ifdef FIX_BUGS
|
||||
if (!m_pPed)
|
||||
return TheCamera.GetPosition();
|
||||
#endif
|
||||
if (m_pPed->InVehicle())
|
||||
return m_pPed->m_pMyVehicle->GetPosition();
|
||||
return m_pPed->GetPosition();
|
||||
@ -342,6 +346,10 @@ CPlayerInfo::FindClosestCarSectorList(CPtrList& carList, CPed* ped, float unk1,
|
||||
void
|
||||
CPlayerInfo::Process(void)
|
||||
{
|
||||
#ifdef FIX_BUGS
|
||||
if (CReplay::IsPlayingBack())
|
||||
return;
|
||||
#endif
|
||||
// Unused taxi feature. Gives you a dollar for every second with a passenger. Can be toggled via 0x29A opcode.
|
||||
bool startTaxiTimer = true;
|
||||
if (m_bUnusedTaxiThing && m_pPed->bInVehicle) {
|
||||
|
@ -26,8 +26,17 @@ CReferences::RemoveReferencesToPlayer(void)
|
||||
{
|
||||
if(FindPlayerVehicle())
|
||||
FindPlayerVehicle()->ResolveReferences();
|
||||
#ifdef FIX_BUGS
|
||||
if (FindPlayerPed()) {
|
||||
CPlayerPed* pPlayerPed = FindPlayerPed();
|
||||
FindPlayerPed()->ResolveReferences();
|
||||
CWorld::Players[CWorld::PlayerInFocus].m_pPed = pPlayerPed;
|
||||
pPlayerPed->RegisterReference((CEntity**)&CWorld::Players[CWorld::PlayerInFocus].m_pPed);
|
||||
}
|
||||
#else
|
||||
if(FindPlayerPed())
|
||||
FindPlayerPed()->ResolveReferences();
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -28,6 +28,9 @@
|
||||
#include "CutsceneMgr.h"
|
||||
#include "CdStream.h"
|
||||
#include "Streaming.h"
|
||||
#ifdef FIX_BUGS
|
||||
#include "Replay.h"
|
||||
#endif
|
||||
#include "main.h"
|
||||
|
||||
bool CStreaming::ms_disableStreaming;
|
||||
@ -280,7 +283,11 @@ CStreaming::Update(void)
|
||||
!requestedSubway &&
|
||||
!CGame::playingIntro &&
|
||||
ms_numModelsRequested < 5 &&
|
||||
!CRenderer::m_loadingPriority){
|
||||
!CRenderer::m_loadingPriority
|
||||
#ifdef FIX_BUGS
|
||||
&& !CReplay::IsPlayingBack()
|
||||
#endif
|
||||
){
|
||||
StreamVehiclesAndPeds();
|
||||
StreamZoneModels(FindPlayerCoors());
|
||||
}
|
||||
@ -1248,7 +1255,11 @@ CStreaming::StreamVehiclesAndPeds(void)
|
||||
static int modelQualityClass = 0;
|
||||
|
||||
if(CRecordDataForGame::IsRecording() ||
|
||||
CRecordDataForGame::IsPlayingBack())
|
||||
CRecordDataForGame::IsPlayingBack()
|
||||
#ifdef FIX_BUGS
|
||||
|| CReplay::IsPlayingBack()
|
||||
#endif
|
||||
)
|
||||
return;
|
||||
|
||||
if(FindPlayerPed()->m_pWanted->AreSwatRequired()){
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
#include "Hud.h"
|
||||
#include "PlayerPed.h"
|
||||
#include "Replay.h"
|
||||
#include "Text.h"
|
||||
#include "User.h"
|
||||
#include "Vehicle.h"
|
||||
@ -115,6 +116,10 @@ CUserDisplay::Init()
|
||||
void
|
||||
CUserDisplay::Process()
|
||||
{
|
||||
#ifdef FIX_BUGS
|
||||
if (CReplay::IsPlayingBack())
|
||||
return;
|
||||
#endif
|
||||
PlaceName.Process();
|
||||
OnscnTimer.Process();
|
||||
Pager.Process();
|
||||
|
@ -1386,6 +1386,10 @@ FindPlayerEntity(void)
|
||||
CVector
|
||||
FindPlayerCoors(void)
|
||||
{
|
||||
#ifdef FIX_BUGS
|
||||
if (CReplay::IsPlayingBack())
|
||||
return TheCamera.GetPosition();
|
||||
#endif
|
||||
CPlayerPed *ped = FindPlayerPed();
|
||||
if(ped->InVehicle())
|
||||
return ped->m_pMyVehicle->GetPosition();
|
||||
@ -1396,6 +1400,11 @@ FindPlayerCoors(void)
|
||||
CVector &
|
||||
FindPlayerSpeed(void)
|
||||
{
|
||||
#ifdef FIX_BUGS
|
||||
static CVector vecTmpVector(0.0f, 0.0f, 0.0f);
|
||||
if (CReplay::IsPlayingBack())
|
||||
return vecTmpVector;
|
||||
#endif
|
||||
CPlayerPed *ped = FindPlayerPed();
|
||||
if(ped->InVehicle())
|
||||
return ped->m_pMyVehicle->m_vecMoveSpeed;
|
||||
@ -1406,6 +1415,9 @@ FindPlayerSpeed(void)
|
||||
CVector &
|
||||
FindPlayerCentreOfWorld(int32 player)
|
||||
{
|
||||
#ifdef FIX_BUGS
|
||||
if(CReplay::IsPlayingBack()) return TheCamera.GetPosition();
|
||||
#endif
|
||||
if(CCarCtrl::bCarsGeneratedAroundCamera) return TheCamera.GetPosition();
|
||||
if(CWorld::Players[player].m_pRemoteVehicle) return CWorld::Players[player].m_pRemoteVehicle->GetPosition();
|
||||
if(FindPlayerVehicle()) return FindPlayerVehicle()->GetPosition();
|
||||
@ -1415,6 +1427,9 @@ FindPlayerCentreOfWorld(int32 player)
|
||||
CVector &
|
||||
FindPlayerCentreOfWorld_NoSniperShift(void)
|
||||
{
|
||||
#ifdef FIX_BUGS
|
||||
if (CReplay::IsPlayingBack()) return TheCamera.GetPosition();
|
||||
#endif
|
||||
if(CCarCtrl::bCarsGeneratedAroundCamera) return TheCamera.GetPosition();
|
||||
if(CWorld::Players[CWorld::PlayerInFocus].m_pRemoteVehicle)
|
||||
return CWorld::Players[CWorld::PlayerInFocus].m_pRemoteVehicle->GetPosition();
|
||||
|
Reference in New Issue
Block a user