Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Name: Spectator Mode fix for Frostbite 2 Engine (Battlefield 3/Need for Speed)
- * Description: Someone automatically adds roll to the spectator camera for some reason
- * this is present in Battlefield 3, 4 Alpha Trial, and Need for Speed
- * Patch by: kiwidog (http://allenthinks.com)
- * Patch for: DICE
- * Functions Hooked: fb::GameRenderer::UpdateViewParams
- */
- void __fastcall cfb_GameRenderer_updateViewParams(fb::GameRenderer* thisGameRenderer, void*, fb::GameRenderViewParams* viewParams)
- {
- if (viewParams)
- {
- D3DXVECTOR3 mLeft(viewParams->view.m_desc.transform.left.x, 0, viewParams->view.m_desc.transform.left.z);
- D3DXVECTOR3 mForward(viewParams->view.m_desc.transform.forward.x, viewParams->view.m_desc.transform.forward.y, viewParams->view.m_desc.transform.forward.z);
- #ifdef SPECTATING
- // YO FIX THIS SHIT
- D3DXVECTOR3 fixedUp;
- D3DXVec3Cross(&fixedUp, &mForward, &mLeft);
- viewParams->view.m_desc.transform.up.x = fixedUp.x;
- viewParams->view.m_desc.transform.up.y = fixedUp.y;
- viewParams->view.m_desc.transform.up.z = fixedUp.z;
- viewParams->view.m_desc.transform.left.x = mLeft.x;
- viewParams->view.m_desc.transform.left.y = mLeft.y;
- viewParams->view.m_desc.transform.left.z = mLeft.z;
- #endif
- }
- return fb_GameRenderer_updateViewParams(thisGameRenderer, viewParams);
- }
Advertisement
Add Comment
Please, Sign In to add comment