diff options
Diffstat (limited to 'src/render/Sprite.cpp')
-rw-r--r-- | src/render/Sprite.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/render/Sprite.cpp b/src/render/Sprite.cpp index 24577f41..8ac2315f 100644 --- a/src/render/Sprite.cpp +++ b/src/render/Sprite.cpp @@ -30,10 +30,12 @@ CSprite::CalcScreenCoors(const RwV3d &in, RwV3d *out, float *outw, float *outh, out->x *= SCREEN_WIDTH * recip; out->y *= SCREEN_HEIGHT * recip; // What is this? size? - *outw = 70.0f/CDraw::GetFOV(); - *outh = 70.0f/CDraw::GetFOV(); - *outw *= SCREEN_WIDTH * recip; - *outh *= SCREEN_HEIGHT * recip; + *outw = 70.0f/CDraw::GetFOV() * SCREEN_WIDTH * recip; +#ifdef ASPECT_RATIO_SCALE + *outh = 70.0f/CDraw::GetFOV() / (DEFAULT_ASPECT_RATIO / SCREEN_ASPECT_RATIO) * SCREEN_HEIGHT * recip; +#else + *outh = 70.0f/CDraw::GetFOV() * SCREEN_HEIGHT * recip; +#endif return true; } @@ -432,6 +434,7 @@ void CSprite::Set6Vertices2D(RwIm2DVertex *verts, const CRect &r, const CRGBA &c0, const CRGBA &c1, const CRGBA &c2, const CRGBA &c3) { float screenz, recipz; + float z = RwCameraGetNearClipPlane(Scene.camera); // not done by game screenz = m_f2DNearScreenZ; recipz = m_fRecipNearClipPlane; @@ -496,6 +499,7 @@ CSprite::Set6Vertices2D(RwIm2DVertex *verts, float x1, float y1, float x2, float const CRGBA &c0, const CRGBA &c1, const CRGBA &c2, const CRGBA &c3) { float screenz, recipz; + float z = RwCameraGetNearClipPlane(Scene.camera); // not done by game screenz = m_f2DNearScreenZ; recipz = m_fRecipNearClipPlane; |