diff --git a/Sources/Plasma/FeatureLib/pfCamera/plVirtualCamNeu.cpp b/Sources/Plasma/FeatureLib/pfCamera/plVirtualCamNeu.cpp index a5c3fa70..ee0e0adc 100644 --- a/Sources/Plasma/FeatureLib/pfCamera/plVirtualCamNeu.cpp +++ b/Sources/Plasma/FeatureLib/pfCamera/plVirtualCamNeu.cpp @@ -1370,6 +1370,11 @@ bool plVirtualCam1::MsgReceive(plMessage* msg) } } } + else + if (pCam->Cmd(plCameraMsg::kRefreshFOV)) + { + Refresh(); + } } plGenRefMsg* pRefMsg = plGenRefMsg::ConvertNoRef(msg); if (pRefMsg ) diff --git a/Sources/Plasma/FeatureLib/pfPython/cyCamera.cpp b/Sources/Plasma/FeatureLib/pfPython/cyCamera.cpp index d7f69fde..3470b19e 100644 --- a/Sources/Plasma/FeatureLib/pfPython/cyCamera.cpp +++ b/Sources/Plasma/FeatureLib/pfPython/cyCamera.cpp @@ -373,3 +373,11 @@ bool cyCamera::IsStayInFirstPerson() } return false; } + +void cyCamera::RefreshFOV() +{ + plCameraMsg* pMsg = new plCameraMsg(); + pMsg->SetSender(fSender); + pMsg->SetCmd(plCameraMsg::kRefreshFOV); + pMsg->Send(fTheCam); +} diff --git a/Sources/Plasma/FeatureLib/pfPython/cyCamera.h b/Sources/Plasma/FeatureLib/pfPython/cyCamera.h index 764ff4a4..265414b7 100644 --- a/Sources/Plasma/FeatureLib/pfPython/cyCamera.h +++ b/Sources/Plasma/FeatureLib/pfPython/cyCamera.h @@ -114,7 +114,7 @@ public: virtual void SetAspectRatio(float aspectratio) { plVirtualCam1::SetAspectRatio(aspectratio); } virtual float GetAspectRatio() const { return plVirtualCam1::GetAspectRatio(); } - virtual void RefreshFOV() { plVirtualCam1::Refresh(); } + virtual void RefreshFOV(); }; diff --git a/Sources/Plasma/NucleusLib/pnMessage/plCameraMsg.h b/Sources/Plasma/NucleusLib/pnMessage/plCameraMsg.h index 2d564a63..b4e656f0 100644 --- a/Sources/Plasma/NucleusLib/pnMessage/plCameraMsg.h +++ b/Sources/Plasma/NucleusLib/pnMessage/plCameraMsg.h @@ -207,6 +207,7 @@ public: kNonPhysOn, kNonPhysOff, kResetPanning, + kRefreshFOV, kNumCmds };