Hotfix for smooth pixel-perfect camera example [core_2d_camera_smooth_pixelperfect.c] (#1771)

* Hotfix for glitchy camera

Super small fix that was causing the camera to glitch every x amount of seconds/pixels. Works much better now, 3/4 lines changed.

* fixed dumb visual studio formatting problems
This commit is contained in:
Gianni Alessandroni 2021-05-14 18:06:47 +02:00 committed by GitHub
parent 232378ed2d
commit a84e98ba6c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -70,21 +70,15 @@ int main(void)
// Set the camera's target to the values computed above.
screenSpaceCamera.target = (Vector2){ cameraX, cameraY };
// Round worldCamera's X, keep the decimals on screenSpaceCamera.
if (screenSpaceCamera.target.x >= 1 || screenSpaceCamera.target.x <= -1)
{
worldSpaceCamera.target.x = (int)screenSpaceCamera.target.x;
screenSpaceCamera.target.x -= worldSpaceCamera.target.x;
screenSpaceCamera.target.x *= virtualRatio;
}
//Round worldSpace coordinates, keep decimals into screenSpace coordinates.
worldSpaceCamera.target.x = (int)screenSpaceCamera.target.x;
screenSpaceCamera.target.x -= worldSpaceCamera.target.x;
screenSpaceCamera.target.x *= virtualRatio;
worldSpaceCamera.target.y = (int)screenSpaceCamera.target.y;
screenSpaceCamera.target.y -= worldSpaceCamera.target.y;
screenSpaceCamera.target.y *= virtualRatio;
// Round worldCamera's Y, keep the decimals on screenSpaceCamera.
if (screenSpaceCamera.target.y >= 1 || screenSpaceCamera.target.y <= -1)
{
worldSpaceCamera.target.y = (int)screenSpaceCamera.target.y;
screenSpaceCamera.target.y -= worldSpaceCamera.target.y;
screenSpaceCamera.target.y *= virtualRatio;
}
//----------------------------------------------------------------------------------
// Draw