fixing some stuff but nothing really.
Some checks failed
Build Dusk / build-linux (push) Failing after 50s
Build Dusk / build-psp (push) Failing after 1m1s

This commit is contained in:
2025-11-28 10:45:07 -06:00
parent b01c0d37b0
commit 9aaf271996
11 changed files with 48 additions and 14 deletions

View File

@@ -17,7 +17,7 @@ void screenInit() {
#if DISPLAY_SIZE_DYNAMIC == 1
SCREEN.mode = SCREEN_MODE_FIXED_HEIGHT;
SCREEN.mode = SCREEN_MODE_FIXED_VIEWPORT_HEIGHT;
SCREEN.fixedHeight.height = DISPLAY_SCREEN_HEIGHT_DEFAULT;
cameraInitOrthographic(&SCREEN.framebufferCamera);
@@ -242,6 +242,17 @@ void screenBind() {
frameBufferBind(&SCREEN.framebuffer);
break;
}
case SCREEN_MODE_FIXED_VIEWPORT_HEIGHT: {
SCREEN.height = SCREEN.fixedViewportHeight.height;
float_t fbWidth = (float_t)frameBufferGetWidth(FRAMEBUFFER_BOUND);
float_t fbHeight = (float_t)frameBufferGetHeight(FRAMEBUFFER_BOUND);
float_t fbAspect = fbWidth / fbHeight;
SCREEN.width = (int32_t)floorf(SCREEN.height * fbAspect);
SCREEN.aspect = (float_t)SCREEN.width / (float_t)SCREEN.height;
break;
}
#endif
default: {
@@ -253,10 +264,9 @@ void screenBind() {
void screenUnbind() {
switch(SCREEN.mode) {
case SCREEN_MODE_BACKBUFFER: {
// Nothing to do here.
// Nothing to do here.
case SCREEN_MODE_BACKBUFFER:
break;
}
#if DISPLAY_SIZE_DYNAMIC == 1
case SCREEN_MODE_ASPECT_RATIO:
@@ -265,12 +275,14 @@ void screenUnbind() {
case SCREEN_MODE_FIXED_WIDTH:
if(SCREEN.framebufferReady) frameBufferBind(NULL);
break;
case SCREEN_MODE_FIXED_VIEWPORT_HEIGHT:
break;
#endif
default: {
default:
assertUnreachable("Invalid screen mode.");
break;
}
}
}
@@ -279,6 +291,11 @@ void screenRender() {
return;
}
if(SCREEN.mode == SCREEN_MODE_FIXED_VIEWPORT_HEIGHT) {
glViewport(0, 0, SCREEN.width, SCREEN.height);
return;
}
#if DISPLAY_SIZE_DYNAMIC == 1
if(
SCREEN.mode == SCREEN_MODE_ASPECT_RATIO ||