summaryrefslogtreecommitdiffstats
path: root/src/render/Sprite.cpp
diff options
context:
space:
mode:
authorNikolay Korolev <nickvnuk@gmail.com>2020-05-09 19:21:36 +0200
committerNikolay Korolev <nickvnuk@gmail.com>2020-05-09 19:21:36 +0200
commit609caad7a4e61a391e6306996a75d82562283803 (patch)
treeb2e70c4692ec2e04e744863f352265c898267786 /src/render/Sprite.cpp
parentccarctrl big fix (diff)
parentaccidentally swapped reft and light (diff)
downloadre3-609caad7a4e61a391e6306996a75d82562283803.tar
re3-609caad7a4e61a391e6306996a75d82562283803.tar.gz
re3-609caad7a4e61a391e6306996a75d82562283803.tar.bz2
re3-609caad7a4e61a391e6306996a75d82562283803.tar.lz
re3-609caad7a4e61a391e6306996a75d82562283803.tar.xz
re3-609caad7a4e61a391e6306996a75d82562283803.tar.zst
re3-609caad7a4e61a391e6306996a75d82562283803.zip
Diffstat (limited to 'src/render/Sprite.cpp')
-rw-r--r--src/render/Sprite.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/render/Sprite.cpp b/src/render/Sprite.cpp
index 30eaf840..1dd1aaab 100644
--- a/src/render/Sprite.cpp
+++ b/src/render/Sprite.cpp
@@ -29,13 +29,17 @@ CSprite::CalcScreenCoors(const RwV3d &in, RwV3d *out, float *outw, float *outh,
float recip = 1.0f/out->z;
out->x *= SCREEN_WIDTH * recip;
out->y *= SCREEN_HEIGHT * recip;
- // What is this? size?
- *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;
+ float fov = CDraw::ConvertFOV(DefaultFOV);
#else
- *outh = 70.0f/CDraw::GetFOV() * SCREEN_HEIGHT * recip;
+ const float fov = DefaultFOV;
#endif
+ // this is used to scale correctly if you zoom in with sniper rifle
+ float fovScale = fov / CDraw::GetFOV();
+
+ *outw = fovScale * SCREEN_SCALE_AR(recip) * SCREEN_WIDTH;
+ *outh = fovScale * recip * SCREEN_HEIGHT;
+
return true;
}