diff options
author | Sergeanur <s.anureev@yandex.ua> | 2019-10-06 01:41:35 +0200 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2019-10-06 01:41:35 +0200 |
commit | 96eee4f10ffd5b5fccf417aba580108b160e3842 (patch) | |
tree | a737b09b4d70ea55937210256105f50e94aa8fa7 /src/core/Camera.cpp | |
parent | Fixed a bunch of calculation mistakes in CHud (diff) | |
download | re3-96eee4f10ffd5b5fccf417aba580108b160e3842.tar re3-96eee4f10ffd5b5fccf417aba580108b160e3842.tar.gz re3-96eee4f10ffd5b5fccf417aba580108b160e3842.tar.bz2 re3-96eee4f10ffd5b5fccf417aba580108b160e3842.tar.lz re3-96eee4f10ffd5b5fccf417aba580108b160e3842.tar.xz re3-96eee4f10ffd5b5fccf417aba580108b160e3842.tar.zst re3-96eee4f10ffd5b5fccf417aba580108b160e3842.zip |
Diffstat (limited to 'src/core/Camera.cpp')
-rw-r--r-- | src/core/Camera.cpp | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/core/Camera.cpp b/src/core/Camera.cpp index 93680dc1..775ab46a 100644 --- a/src/core/Camera.cpp +++ b/src/core/Camera.cpp @@ -22,7 +22,6 @@ WRAPPER void CCamera::CamShake(float strength, float x, float y, float z) { EAXJ WRAPPER void CCamera::DrawBordersForWideScreen(void) { EAXJMP(0x46B430); } WRAPPER void CCamera::CalculateDerivedValues(void) { EAXJMP(0x46EEA0); } WRAPPER void CCamera::Restore(void) { EAXJMP(0x46F990); } -WRAPPER void CCamera::SetWidescreenOff(void) { EAXJMP(0x46FF10); } WRAPPER void CamShakeNoPos(CCamera*, float) { EAXJMP(0x46B100); } WRAPPER void CCamera::TakeControl(CEntity*, int16, int16, int32) { EAXJMP(0x471500); } WRAPPER void CCamera::TakeControlNoEntity(const CVector&, int16, int32) { EAXJMP(0x4715B0); } @@ -33,8 +32,6 @@ WRAPPER void CCamera::Process(void) { EAXJMP(0x46D3F0); } WRAPPER void CCamera::LoadPathSplines(int file) { EAXJMP(0x46D1D0); } WRAPPER uint32 CCamera::GetCutSceneFinishTime(void) { EAXJMP(0x46B920); } WRAPPER void CCamera::FinishCutscene(void) { EAXJMP(0x46B560); } -WRAPPER void CCamera::SetCamCutSceneOffSet(const CVector&) { EAXJMP(0x46FC30); }; -WRAPPER void CCamera::TakeControlWithSpline(short) { EAXJMP(0x471620); }; WRAPPER void CCamera::RestoreWithJumpCut(void) { EAXJMP(0x46FAE0); }; bool @@ -1333,6 +1330,25 @@ CCamera::Find3rdPersonQuickAimPitch(void) return -(DEGTORAD(((0.5f - m_f3rdPersonCHairMultY) * 1.8f * 0.5f * Cams[ActiveCam].FOV)) + rot); } +void +CCamera::SetCamCutSceneOffSet(const CVector &pos) +{ + m_vecCutSceneOffset = pos; +}; + +void +CCamera::TakeControlWithSpline(short nSwitch) +{ + m_iModeToGoTo = CCam::MODE_FLYBY;
+ m_bLookingAtPlayer = false;
+ m_bLookingAtVector = false;
+ m_bcutsceneFinished = false;
+ m_iTypeOfSwitch = nSwitch;
+ m_bStartInterScript = true;
+
+ //FindPlayerPed(); // unused +}; + STARTPATCHES InjectHook(0x42C760, (bool (CCamera::*)(const CVector ¢er, float radius, const CMatrix *mat))&CCamera::IsSphereVisible, PATCH_JUMP); InjectHook(0x46FD00, &CCamera::SetFadeColour, PATCH_JUMP); |