Fix credit sequence not compensating for non-green resolutions

This commit is contained in:
Hanicef 2024-02-15 22:03:28 +01:00
parent 2747e30f8c
commit 71ce173a0d

View file

@ -1303,6 +1303,9 @@ void F_CreditDrawer(void)
// Dim the background // Dim the background
V_DrawFadeScreen(0xFF00, 16); V_DrawFadeScreen(0xFF00, 16);
// compensation for y on non-green resolutions, used to prevent text from disappearing before reaching the top
int compy = vid.height - BASEVIDHEIGHT;
// Draw credits text on top // Draw credits text on top
for (i = 0; credits[i]; i++) for (i = 0; credits[i]; i++)
{ {
@ -1312,17 +1315,17 @@ void F_CreditDrawer(void)
y += 80<<FRACBITS; y += 80<<FRACBITS;
break; break;
case 1: case 1:
if (y>>FRACBITS > -20) if (y>>FRACBITS > -20-compy)
V_DrawCreditString((160 - (V_CreditStringWidth(&credits[i][1])>>1))<<FRACBITS, y, 0, &credits[i][1]); V_DrawCreditString((160 - (V_CreditStringWidth(&credits[i][1])>>1))<<FRACBITS, y, 0, &credits[i][1]);
y += 30<<FRACBITS; y += 30<<FRACBITS;
break; break;
case 2: case 2:
if (y>>FRACBITS > -10) if (y>>FRACBITS > -10-compy)
V_DrawStringAtFixed((BASEVIDWIDTH-V_StringWidth(&credits[i][1], V_ALLOWLOWERCASE|V_YELLOWMAP))<<FRACBITS>>1, y, V_ALLOWLOWERCASE|V_YELLOWMAP, &credits[i][1]); V_DrawStringAtFixed((BASEVIDWIDTH-V_StringWidth(&credits[i][1], V_ALLOWLOWERCASE|V_YELLOWMAP))<<FRACBITS>>1, y, V_ALLOWLOWERCASE|V_YELLOWMAP, &credits[i][1]);
y += 12<<FRACBITS; y += 12<<FRACBITS;
break; break;
default: default:
if (y>>FRACBITS > -10) if (y>>FRACBITS > -10-compy)
V_DrawStringAtFixed(32<<FRACBITS, y, V_ALLOWLOWERCASE, credits[i]); V_DrawStringAtFixed(32<<FRACBITS, y, V_ALLOWLOWERCASE, credits[i]);
y += 12<<FRACBITS; y += 12<<FRACBITS;
break; break;