Move calculations outside of the loop, as they only need to be calculated once per frame.

Bit of cleanup.
This commit is contained in:
Malkierian
2024-12-09 16:48:06 -07:00
committed by Alejandro Asenjo Nitti
parent 354de2f364
commit 48aa44f401
2 changed files with 6 additions and 14 deletions
+6 -6
View File
@@ -229,6 +229,12 @@ void Background_DrawStarfield(void) {
FrameInterpolation_ShouldInterpolateFrame(false);
}
float originalWidth = currentScreenWidth / 5;
float originalAspect = originalWidth / (currentScreenHeight / 3);
float renderMaskWidth = originalWidth * (OTRGetAspectRatio() / originalAspect);
float marginX = (currentScreenWidth - renderMaskWidth) / 2;
float renderMaskHeight = currentScreenHeight / 3;
for (i = 0; i < starCount; i++, yStar++, xStar++, color++) {
// Adjust star positions with field offsets
bx = *xStar + xField;
@@ -258,12 +264,6 @@ void Background_DrawStarfield(void) {
vx = (zCos * bx) + (zSin * by) + currentScreenWidth / 2.0f;
vy = (-zSin * bx) + (zCos * by) + currentScreenHeight / 2.0f;
float originalWidth = currentScreenWidth / 5;
float originalAspect = originalWidth / (currentScreenHeight / 3);
float renderMaskWidth = originalWidth * (OTRGetAspectRatio() / originalAspect);
float marginX = (currentScreenWidth - renderMaskWidth) / 2;
float renderMaskHeight = currentScreenHeight / 3;
// Check if the star is within the visible screen area with margin
if (vx >= (marginX - STAR_MARGIN) && vx <= (marginX + renderMaskWidth + STAR_MARGIN) &&
vy >= (renderMaskHeight - STAR_MARGIN) && vy <= ((renderMaskHeight * 2) + STAR_MARGIN)) {