Don't store the camera pointer in the minimap

Reviewed by: vladislavbelov
Fix #5973

Differential Revision: https://code.wildfiregames.com/D4100
This was SVN commit r25710.
This commit is contained in:
Imarok 2021-06-06 16:08:10 +00:00
parent 63c1347ef7
commit ca6fcb28ab
2 changed files with 6 additions and 8 deletions

View File

@ -319,7 +319,7 @@ void CMiniMap::SetCameraPositionFromMousePosition()
float CMiniMap::GetAngle() const
{
CVector3D cameraIn = m_Camera->GetOrientation().GetIn();
CVector3D cameraIn = g_Game->GetView()->GetCamera()->GetOrientation().GetIn();
return -atan2(cameraIn.X, cameraIn.Z);
}
@ -354,11 +354,12 @@ void CMiniMap::DrawViewRect(const CMatrix3D& transform) const
const float height = m_CachedActualSize.GetHeight();
const float invTileMapSize = 1.0f / float(TERRAIN_TILE_SIZE * m_MapSize);
const CCamera* camera = g_Game->GetView()->GetCamera();
const std::array<CVector3D, 4> hitPoints = {
m_Camera->GetWorldCoordinates(0, g_Renderer.GetHeight(), h),
m_Camera->GetWorldCoordinates(g_Renderer.GetWidth(), g_Renderer.GetHeight(), h),
m_Camera->GetWorldCoordinates(g_Renderer.GetWidth(), 0, h),
m_Camera->GetWorldCoordinates(0, 0, h)
camera->GetWorldCoordinates(0, g_Renderer.GetHeight(), h),
camera->GetWorldCoordinates(g_Renderer.GetWidth(), g_Renderer.GetHeight(), h),
camera->GetWorldCoordinates(g_Renderer.GetWidth(), 0, h),
camera->GetWorldCoordinates(0, 0, h)
};
std::vector<CVector3D> lines;
@ -480,7 +481,6 @@ void CMiniMap::Draw(CCanvas2D& canvas)
CMiniMapTexture& miniMapTexture = g_Game->GetView()->GetMiniMapTexture();
// Set our globals in case they hadn't been set before
m_Camera = g_Game->GetView()->GetCamera();
const CTerrain* terrain = g_Game->GetWorld()->GetTerrain();
ssize_t width = (u32)(m_CachedActualSize.right - m_CachedActualSize.left);
ssize_t height = (u32)(m_CachedActualSize.bottom - m_CachedActualSize.top);

View File

@ -70,8 +70,6 @@ private:
static const CStr EventNameWorldClick;
const CCamera* m_Camera;
// Whether or not the mouse is currently down
bool m_Clicking;