MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / GameUpdateCameraFov

Function GameUpdateCameraFov

Engine/source/T3D/gameFunctions.cpp:223–277  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

221}
222
223void GameUpdateCameraFov()
224{
225 F32 time = F32(Platform::getVirtualMilliseconds());
226
227 // need to update fov?
228 if(CameraAndFOV::sTargetFov != CameraAndFOV::sCameraFov)
229 {
230 F32 delta = time - CameraAndFOV::sLastCameraUpdateTime;
231
232 // snap zoom?
233 if((CameraAndFOV::sZoomSpeed == 0) || (delta <= 0.0f))
234 CameraAndFOV::sCameraFov = CameraAndFOV::sTargetFov;
235 else
236 {
237 // gZoomSpeed is time in ms to zoom 90deg
238 F32 step = 90.f * (delta / F32(CameraAndFOV::sZoomSpeed));
239
240 if(CameraAndFOV::sCameraFov > CameraAndFOV::sTargetFov)
241 {
242 CameraAndFOV::sCameraFov -= step;
243 if(CameraAndFOV::sCameraFov < CameraAndFOV::sTargetFov)
244 CameraAndFOV::sCameraFov = CameraAndFOV::sTargetFov;
245 }
246 else
247 {
248 CameraAndFOV::sCameraFov += step;
249 if(CameraAndFOV::sCameraFov > CameraAndFOV::sTargetFov)
250 CameraAndFOV::sCameraFov = CameraAndFOV::sTargetFov;
251 }
252 }
253 }
254
255 // the game connection controls the vertical and the horizontal
256 GameConnection * connection = GameConnection::getConnectionToServer();
257 if(connection)
258 {
259 // check if fov is valid on control object
260 if(connection->isValidControlCameraFov(CameraAndFOV::sCameraFov))
261 connection->setControlCameraFov(CameraAndFOV::sCameraFov);
262 else
263 {
264 // will set to the closest fov (fails only on invalid control object)
265 if(connection->setControlCameraFov(CameraAndFOV::sCameraFov))
266 {
267 F32 setFov = CameraAndFOV::sCameraFov;
268 connection->getControlCameraFov(&setFov);
269 CameraAndFOV::sTargetFov =CameraAndFOV::sCameraFov = setFov;
270 }
271 }
272 }
273
274 // update the console variable
275 CameraAndFOV::sConsoleCameraFov = CameraAndFOV::sCameraFov;
276 CameraAndFOV::sLastCameraUpdateTime = time;
277}
278//--------------------------------------------------------------------------
279
280#ifdef TORQUE_DEBUG

Callers 2

processCameraQueryMethod · 0.85
processCameraQueryMethod · 0.85

Calls 3

setControlCameraFovMethod · 0.80
getControlCameraFovMethod · 0.80

Tested by

no test coverage detected