From 8d4cceb2e4bc8947f260e6c029c78b71ff94bfea Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Sun, 13 Oct 2019 22:19:51 +0300 Subject: [PATCH] Fixed widescreen turning off during cutscenes --- src/core/Camera.cpp | 15 +++++++++++++++ src/core/Camera.h | 4 ++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/core/Camera.cpp b/src/core/Camera.cpp index 28cced53..20c2ebd0 100644 --- a/src/core/Camera.cpp +++ b/src/core/Camera.cpp @@ -1357,6 +1357,18 @@ void CCamera::SetCameraDirectlyInFrontForFollowPed_CamOnAString() m_PedOrientForBehindOrInFront = CGeneral::GetATanOfXY(player->GetForward().x, player->GetForward().y); } +void +CCamera::SetWideScreenOn(void) +{ + m_WideScreenOn = true; +} + +void +CCamera::SetWideScreenOff(void) +{ + m_bWantsToSwitchWidescreenOff = m_WideScreenOn; +} + STARTPATCHES InjectHook(0x42C760, (bool (CCamera::*)(const CVector ¢er, float radius, const CMatrix *mat))&CCamera::IsSphereVisible, PATCH_JUMP); InjectHook(0x46FD00, &CCamera::SetFadeColour, PATCH_JUMP); @@ -1367,6 +1379,9 @@ STARTPATCHES InjectHook(0x46FC90, &CCamera::SetCameraDirectlyInFrontForFollowPed_CamOnAString, PATCH_JUMP); + InjectHook(0x46FF00, &CCamera::SetWideScreenOn, PATCH_JUMP); + InjectHook(0x46FF10, &CCamera::SetWideScreenOff, PATCH_JUMP); + InjectHook(0x456F40, WellBufferMe, PATCH_JUMP); InjectHook(0x4582F0, &CCam::GetVectorsReadyForRW, PATCH_JUMP); InjectHook(0x457710, &CCam::DoAverageOnVector, PATCH_JUMP); diff --git a/src/core/Camera.h b/src/core/Camera.h index 7d765a06..e2717934 100644 --- a/src/core/Camera.h +++ b/src/core/Camera.h @@ -468,8 +468,8 @@ int m_iModeObbeCamIsInForCar; void DrawBordersForWideScreen(void); void Restore(void); - void SetWideScreenOn(void) { m_WideScreenOn = true; } - void SetWideScreenOff(void) { m_WideScreenOn = false; } + void SetWideScreenOn(void); + void SetWideScreenOff(void); float Find3rdPersonQuickAimPitch(void);