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

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)) {

View File

@ -589,11 +589,3 @@ extern "C" void* GameEngine_Malloc(size_t size) {
SPDLOG_INFO("Memory pool resized from {} to {}", MemoryPool.length - chunk, MemoryPool.length);
return GameEngine_Malloc(size);
}
extern "C" float GetWindowWidth() {
return Ship::Context::GetInstance()->GetWindow()->GetWidth();
}
extern "C" float GetWindowHeight() {
return Ship::Context::GetInstance()->GetWindow()->GetHeight();
}